web-dev-qa-db-ja.com

NPMインストールでモジュール 'semver'が見つかりません

NodeJSのコマンドプロンプトでnpm installを使うことはできません。 npm installを実行するとこれらのエラーが発生します。

module.js:339
    throw err;
    ^
Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (C:\Users\admin\AppData\Roaming\npm\node_modules\npm\l
ib\config\defaults.js:6:14)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)

私を助けてください

159
user2447562

同じエラーが発生しました。 npm uninstall npm -grm -rf node_modulesは助けにはなりませんでした。試したときにError: Cannot find module 'semver'を取得していたからです。しかし、私はこれらの手順で問題を解決します(これにより、使用している他のグローバルモジュールが削除されます)。

  • Sudo rm -rf /usr/local/lib/node_modules
  • Sudo rm -rf ~/.npm
  • brew uninstall --force node
  • brew install node

これが同様の問題を抱えている人たちを助けることを願っています。

360
artiebits

私はここで同じ問題に直面しています。

brew install yarnを実行した直後にこの問題が発生した場合は、yarn global add npmを実行してみてください。

53
Ashoor

MS Windowsでは、解決策は%APPDATA%\npmを削除して再インストールすることです node

47
Gangadhar

昨日brew install yarnを実行した後、私もこれを持っていました。少なくとも、それまではすべてうまくいっていました。

rm -rf node_modulesを実行して再インストールしようとしましたが、npmコマンドが機能していませんでした。

結局、私はMac OS X用の公式Nodeインストーラーを介してNodeを再インストールするというかなり簡単なステップを踏みました。

https://nodejs.org/ja/download/

今はすべて問題ありません。ディレクトリに戻ってnpm installを実行するだけで、うまくいきます。

44
raffjones

Arch Linux上トリックをしたのは:

Sudo pacman -Rs npm
Sudo pacman -S npm
17
Telmo Trooper

Arch Linux 4.13.3でこれに遭遇したばかりなので、semverを再インストールすることで問題を解決しました。

pacman -S semver
12
Matthias Braun

実際には、以前に保存されたモジュールの参照を取っています。

解決策:nodejsのインストールディレクトリにあるnpm-cache/npmフォルダを削除します。 Windowsでは、C:/ User/Username/Appdata/Roaming/npm(またはnpm_cache)にあります。もう一度インストールしてみてください。

どのOSでも同じことができます。

5
Shubham Jaiswal

Windowsでは、 NodeのMSI を再度ダウンロードして 'Repair'を実行するとうまくいきました。

3
Sornakumar

より低いバージョンのノードを使用してnpm installを実行したときにこの問題に直面しました。その後、私が最新版のnodeにアップグレードしてgulpを実行したときに、このエラーが発生しました。

解決するには、node_modulesを削除し、npm installを再実行しました。それからgulpはうまく走りました。

2
cedric

私は同じ問題を抱えていましたが、それは壊れたpackage-lock.jsonファイルによって引き起こされました。

package-lock.jsonを削除してnpm installを実行すると、それも修正されました。

1
Wireblue

私はついにこれを考え出した!はい、すべてのファイルをアンインストール/削除してから再インストールする必要があります。しかし、ファイルパスの中には、アンインストール処理中に削除するには長すぎるものがあります。ファイルパスがNode内で非常に長いため、削除できない可能性があります。ファイルパスの名前を変更する必要があります。

ノードをアンインストールした後、コマンドプロンプトを使用し、...\Appdata\roaming \に移動します(エラーメッセージのパスを使用します)。 del npmでフォルダを削除してみてください。その後、フォルダを削除できない場合は、次のエラーメッセージでファイルパス内のフォルダの名前を "a"または短い名前に変更します。パスに沿って複数のフォルダに対してこれを行う必要があります。それからあなたは削除することができるはずです!それからノードを再インストールすればそれははたらくはずです。

1
The Windhover

/ node_modulesフォルダーを削除してやり直してください。 ;)

削除するにはnpm rmを使います。

GitHubで this issue をチェックすることもできます。 unnistalについてより具体的にするには、 this に従うようにしてください。

アンインストール

あなたが行くのを見てとても悲しい。

Sudo npm uninstall npm -gまたは、それが失敗した場合、

Sudo make uninstallもっと深刻なアンインストール

通常、上記の指示で十分です。それはnpmを削除しますが、あなたがインストールしたものは何でも残します。

インストールしたすべてのパッケージを削除したい場合は、npm lsコマンドを使用してそれらを検索し、次にnpm rmを使用してそれらを削除できます。

Npm 0.xによって取り残された残りの部分を削除するには、含まれているclean-old.shスクリプトファイルを使用できます。あなたはこのように便利にそれを走らせることができます:

npm explore npm -g -sh scripts/clean-old.sh npmは2つの設定ファイルを使用します。1つはユーザーごとの設定用、もう1つはグローバルな(ユーザーごとの)設定用です。あなたはそれらを見ることができます:

npm config get userconfig#のデフォルトは〜/ .npmrcです。npm config get globalconfig#のデフォルトは/ usr/local/etc/npmrcです。npmをアンインストールしても、デフォルトで設定ファイルは削除されません。削除したい場合は手動で自分で削除する必要があります。これは将来のnpmインストールがあなたが選んだ設定を記憶しないことを意味することに注意してください。

1
Rodmentou

より高いバージョンのcliでプロジェクトを実行している間、私はこの問題に直面しました。この問題を解決するためには、@ angular-devkit/build-angularモジュールを単にコメントアウトすることができます。

npm install @ angular-devkit/build-angular --save

0
sachin

AWS Linuxへのインストールでも同じ問題がありました。私はSudoを使ってインストールしなければなりませんでした。そのため、これを回避するために、この記事のステップ3に従いました(必ず最新バージョンのノードを入手するようにしてください)。

https://www.hostingadvice.com/how-to/update-node-js-latest-version/

wget https://nodejs.org/dist/vx.x.x/node-vx.x.x-linux-x64.tar.xz
tar -C /home/aUser/node --strip-components 1 -xJf node-vx.x.x-linux.x64.tar.xz

しかし、それをユーザーのホームディレクトリ/home/aUser/nodeにインストールしました。それから私のパスにそのパスを追加しました。

export PATH=/home/aUser/node/bin:$PATH

その後、私は何の問題もなくnpm installを実行することができました。

0
Jerinaw

私の場合、macOS(10.13.6)で次のコマンドを実行したとき

npm install -g react-native-cli

このエラーが出ました

Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:690:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

コマンドの実行後にエラーが解決されました

yarn global add npm

@Ashoorによって提案された

0
zeeawan

私の場合は、brew install yarnを再実行するだけで問題が解決しました。

0
jack4it

semverがインストールされていることを確認してください。npm install -g semver

0
Javarome

醸造所が私のMacOs Sierra 10.12.6に糸を取り付けた後、私は同じ問題に直面しました。 (そして、インストールの最初の試みは、「HomebrewはRuby 2.3で実行しなければなりません!(RuntimeError)」というメッセージが表示された後にselfを更新した後、再実行します。)

だから私はnpmを再インストールするのにnマネージャを使う。

  • 空のパラメータを指定して "n"コマンドで別のノードバージョン(私の場合は8.0)に切り替えます。
  • または「n x.x.x」で新しいバージョンをインストールします。ここで、x.x.xはノードのバージョン番号です(私は6.9.1が必要です)。
  • 作業バージョンを "n rm x.x.x"で削除します。ここで、x.x.xはノードのバージョン番号です。必要ならSudoを使う
  • 作業バージョンを "n x.x.x"でインストールします。ここでx.x.xはノードのバージョン番号です。必要ならSudoを使う
  • 作業バージョンのノードに切り替えます。 (参考のために最初のステップを見てください)

念のため、ノードがSudoの下にインストールされたことが原因で問題が発生していると思います。

0
Larest

Macユーザーのために、私はたくさんの新しいノードバージョンをインストールして、異なるものをアンインストールしようとしました。それでも直らなかった。あなたは最初にあなたのすべてのインストールを完全に一掃しなければなりません。次の手順に従ってください。 Node.jsを完全にアンインストールし、最初から再インストールするにはどうすればいいですか(Mac OS X)

それからノードの最新バージョンをダウンロードしてください。

0
Michael