npmの実行時にnpm-cli.jsが見つかりません


89

通常、npmを使用してライブラリをインストールできますが、今日yeomanをインストールすると、このエラーが発生しました。根本的な原因を突き止めるのを助けてください。

D:\Works\phonegap\ionic\todo>npm install -g yo
    module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

私はフォルダを調べました:

C:\ Program Files \ nodejs \ node_modules \ npm \ bin \

エラーが説明されているので、node_modulesフォルダーは表示されません。

また、npm-cli.jsを見つけて、実際にあることを確認しますC:\Program Files\nodejs\node_modules\npm\bin\


ノードをインストールしたとき?
Mritunjay 14

1
申し訳ありませんが、このエラーを修正するためにノードを再インストールし忘れたため、現在node_modulesフォルダーはありません。しかし、その前にC:\ Program Files \ nodejs \ node_modules \ npm \ bin \ node_mod ules \もチェックしましたが、npmフォルダーが見つかりませんでした。
user1192476 14

これに対する答えがあります。8時間後に投稿されます。ありがとう。
user1192476 14

回答:


104

問題は、システム変数のノードのパスが間違っていることが原因であることがわかりました。パスは現在ポイントしています

(いつ変更したかは本当にわかりません)

C:\Program Files\nodejs\node_modules\npm\bin

だから私は

C:\Program Files\nodejs

そしてそれは魅力のように働きます。


16
同じ問題がありました。パスを変更したことがないので、ノードをアップグレードしたときにこれが発生したはずだと思います。
Nils Magne Lunde 2014

私はエレクトロンをインストールしたときに問題が発生し始めると思います:(
Charles Walker

4
これをどこで変えましたか?どのファイル?
CodeToad 2017年

1
環境変数。
Crozeta

最新バージョンでは、アップグレード後、環境変数に両方のパスが表示され、古いパス(C:\ Users \ YOUR_USER \ AppData \ Roaming \ npm)が新しいパス(C:\ Program Files \ nodejs)よりも優先されます。 )。前者を削除すると、問題が解決します。
Shahroq

41

これはコマンドラインで実行する必要があります。

SET PATH=C:\Program Files\Nodejs;%PATH%

Windowsのbashシェル
Prathap Kudupu 2018年

ノードのバージョンをアップグレードしたときにこの問題が発生しました。あなたの解決策は完璧に機能しました。私はnode_modulesフォルダを削除する必要はありませんでした
AllJs 18/07/23

それが助けてくれてうれしい
プラタップクドゥプ

npmを使用してnpmを更新しようとした後(npm -i npm)、このパスをさらに上に移動して優先順位を上げる必要がありました。
Corey Alix

26

パスにとがある場合にも、この問題が発生する可能性がC:\Program Files\nodejsありC:\Program Files\nodejs\node_modules\npm\binます。後者をパスから削除します


4
パスのどこに?
CodeToad 2017年

17

npmインストールしたノードのパスから名前を付けたディレクトリをコピーします(私の場合、npmディレクトリはで利用可能でしたC:\Program Files\nodejs\node_modules)。

C:\Users\%USERNAME%\AppData\Roaming\npm\node_modulesコピーしたnpmディレクトリに移動して貼り付けます。

この方法は、同じエラーが発生したときに機能しました。。。


3
ありがとう、これはアップグレードが私のNPMのインストールをめちゃくちゃにして、修理して再インストールしてもそれを修正しなかった後にうまくいきました。
Slbox 2018

16

NodeJSのインストールを修復したところ、うまくいきました。

Control Panel\All Control Panel Items\Programs and Features->に移動しNodeJS、オプション修復を選択して修復します。お役に立てれば。


1
Windows上で10.これは私のために働いたが、それは、「アプリケーションと機能」と呼ばれています
PeonProgrammer

私の場合、node_modulesにnpmフォルダーはありませんでしたnpm install express。コマンドを実行するだけで、修復することができました。
Lalit Fauzdar

14

これは質問と同じケースではありませんが、同様の問題に直面している人には役立つかもしれません。Windowsでは、npmいくつかのCI /自動化ツールからコマンドを呼び出している場合、エラーが発生する可能性があります。

Error: Cannot find module 'SOME_PATH\node_modules\npm\bin\npm-cli.js'

どこかでSOME_PATHはなくProgram Files/...、いくつかのプロジェクトディレクトリです。そのため、npmは、npm-cli.jsをで検索するのではなく、プロジェクトルートディレクトリ内で検索しようとしますProgram Files/nodejs

理由はnpm.cmdスクリプトです。

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)


SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

このスクリプトは%~dp0npm-cli.jsのルックアップに使用しますが、一部の自動化ツールは%~dp0、ローカルプロジェクトディレクトリを指すように作業ディレクトリを設定できるため、スクリプトが正しく機能しません。

1つの可能な解決策は、これからnpm呼び出しを変更することです。

npm.cmd install

これに

cmd.exe /c npm.cmd install

特定のディレクトリでインストールコマンドを実行するようにWorkingDirectoryを設定する必要がある場合、これは問題を解決しません
Daniel Fisher lennybacon

私にとってうまくいったのは、後でnpmコマンドで変更ディレクトリを実行することです: "cmd.exe" / c cd / d "T:\ TfsAgent_work \ 1 \ s \ src \ WebHost \" && "C:\ Program Files \ nodejs \ npm.cmd "インストール
Daniel Fisher lennybacon

7

他の答えはどれもうまくいきませんでした。

これが私が書いたものです(Windowsのgit bashシェルで):

PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman

5

Macの場合:

同じエラーが発生したときに、これをMaven com.github.eirslettフロントエンドプラグインから実行していました。

最終的に私はしなければなりませんでした:

こちらのインストーラーダウンロードからNode.jsをインストールします。http//nodejs.org/

Mavenビルド構造内からすべてのnode/およびnode_modules/フォルダーを削除します。


2
これはフロントエンドプラグインの新しいバージョンで修正されたようです:github.com/eirslett/frontend-maven-plugin/issues/147
Noremac

5

上記に加えて、私C:\Users\%USERNAME%\AppData\Roaming\npmも削除する必要がありました。これは役に立ちました。


1
私のシステムでは、グローバルパッケージが存在します。あなたがパスから削除した場合、あなたはもはやなど、がぶ飲みを実行することはできないかもしれない
TrueWill

5

nvmでインストールしたときに、ノード8.5でも同じ問題が発生しました。以下の解決策は私のために働きました

$ nvm uninstall 8.5
8.5.0
Uninstalling node v8.5.0...Error removing node v8.5.0
Manually remove C:\Users\Omkar\AppData\Roaming\nvm\v8.5.0.

$ nvm install 8.5
8.5.0
Downloading node.js version 8.5.0 (64-bit)...
Complete
Creating C:\Users\Omkar\AppData\Roaming\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.5.0

Omkar@VAST-0137 MINGW64 /d/code

これは私にとってはうまくいきました。以前はnvmでノード8.5が正しくインストールされていませんでした。「npm \ bin \ npm-cli.js」フォルダとファイルが以前にnode_modules内に作成されなかった原因を突き止めました。


私の道は大丈夫に見えました。アンインストール/再インストールで問題が解決しました。
マークマスラー

新しいバージョンに切り替えたときでも、古いノードでいくつかの奇妙な問題がありました。そこで、古いノードをアンインストールし、新しいノードを再インストールしました。このようにして、cliで問題を修正しました:)ありがとう
Andrej Gaspar 2018

5

環境変数を変更しないでください

問題を引き起こしたのはインストーラーであり、必要なすべてのファイルをインストールしませんでした。

Windows 7でNODEJSセットアップを修復したところ、とてもうまくいきました。何かがうまくいかない場合に備えて、再インストールできます。


4

nodejsの最新バージョンにアップグレードするときにシステムの変数に追加されたパスは実際には2つあります。
1. C:\プログラムファイル\はnodejs
2. C:\プログラムファイル\ nodejs \ node_modules \ NPM \ binに
Windows用/ 8 7 / 8.1のユーザーを、彼らは環境変数のWindows 10スマートGUIを持っていません。
とにかく、あなたがしなければならないのは"C:\Program Files\nodejs\node_modules\npm\bin"、それを検索して削除することだけです。
また、"C:\Users\%USERNAME%\AppData\Roaming\npm"環境変数から削除します。私がこの答えを投稿しているのは、インターネットで解決策を探すために10時間を無駄にしたからです。上記の回答を組み合わせることで、問題を解決しました。


4

これは、GoogleChrome / puppeteerをインストールした後に起こりました。解決策は、npmを再インストールすることでした。

$ npm i npm@latest

または

$ npm install npm@latest

2

ここでの解決策はどれも私にとってはうまくいきませんでしたが、システムを再起動してnpm install再度実行した後、それはうまくいきました。私はそれを握る前に実行した1つ以上のプロセスを推測します。

Windows 10でPCを再起動するだけで、魔法のようになりました!


私のためにも働いた!エラーはおそらくWin10の更新後に発生しました
Arno van Oordt

2

Windowsでも同じ問題が発生しました。Nodeを修復したところ、Windowsでコマンドを再起動した後、正常に動作しました。


1

このコマンドを実行してください:

npm i npm@latest -g

Stack Overflowへようこそ!これが何をするか、そしてそれがどのように質問に答えるかについて詳しく説明してもらえますか?
anothernode 2018

1

npm install -g npm @ [version]で問題が修正されました


1

Windows 10の場合:

  1. Windowsキーを押し、システム環境変数の編集と入力して入力します。
  2. 環境変数をクリックします...
  3. タイトル「環境変数」で開いたウィンドウの下半分に、「システム変数」というタイトルの表が表示されます。最初の列は「変数」という2つの列があります。
  4. 変数Pathを含む行を見つけてクリックします。
  5. 「編集」をクリックすると、「環境変数の編集」というタイトルのウィンドウが開きます。
  6. ここで見つけたら

C:\ Program Files \ nodejs \ node_modules \ npm \ bin

それを選択し、右側の編集ボタンをクリックしてから、nodejsフォルダーのあるパスにフィールドを編集します。私の場合は、次のように短縮しています。

C:\ Program Files \ nodejs

次に、すべてのcmdまたはpowershellターミナルを閉じ、再度開き、npmが機能していました。


1

私はそれが古い投稿であることを知っていますが、これを書いているときにNode jsのバージョンは12.13.1です。システムパスに以下を追加した以前のバージョンのNode jsが既にインストールされている可能性があるため、一般的にこの問題に直面します。

C:\ Program Files \ nodejs \ node_modules \ npm \ bin

ただし、新しいバージョンでは以下を追加する必要があります:-

C:\ Program Files \ nodejs

Nodejsをインストールしたパスを意味します。デフォルトは

C:\ Program Files \ nodejs

ただし、別の場所を指定した場合は、それを指す必要があります。



0

最後にWindows7にnode9.0.0をインストールするときにこの問題が発生しました。解決策は、これを行う前に、C:\ Program Files \ nodejs \ node_modules \ npm \ binからnpm npm.cmd npx npx.cmdを削除することでした。 C:\ Program Files \ nodejs \ npmを実行します。これは1つの方法です。同じ問題が発生しているかどうかを確認してください。


0

node_modules内にnpmフォルダーを手動で作成し、修復オプションを使用してインストーラーを再実行します。不足しているファイルをコピーします。


0

私の場合、nvm-windows 1.1.6を使用していてnvm install latest、nodejsのバージョンをを使用して更新すると、最終的にnodejsとnpmがインストールされていると通知されましたが、実行しようとするとnpm install

エラー:モジュール「C:\ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js」が見つかりません

nvm-windows構造を確認すると、シンボリックリンクされていることC:\Program Files\nodejsがわかりました%APPDATA%\nvm\NODE_VERSION(私の場合、NODE_VERSIONはv9.7.1でした)node_modules。解決策はnpm、以前のバージョンのnode_modulesフォルダーの1つからフォルダーをコピーして貼り付けることでした。次に、npmを更新するnpm install npm@next -gと、すべてが再び機能し始めました。


0

上記のいずれも機能しなかったので、「npm install ...」を実行するたびに、どのnpmコマンドも機能しなくなることに気づきました。したがって、インストールするたびに、NodeJSインストールプログラムを実行して「修復」を選択する必要があります。私が本当の解決策を見つけるまで:)


解決策を投稿するのは良いことですが、これも歓迎します。しかし、魔法のように機能したと言ったのではなく、論理的に説明した方がいいでしょう:)
Aousaf rashid

0

NPMを最新バージョンに更新することは私にとってうまくいきました:

npm install npm@latest -g

0

環境パス変数C:\ Program Files \ nodejs \ node_modules \ npm \ binを変更し、コマンドターミナルを開き、npm -vおよび


0

まだこのスレッドを回っている人のために:

  • 公式サイトからノードをインストールします(npmとノードのバージョンを確認して、正しくインストールされているかどうかを確認します。新しいターミナル/コマンドでインストールします)。
  • 今すぐnvmをインストールし、nvmで現在のノードを管理するかどうかを確認するメッセージが表示されたら、[はい]をクリックします。
  • 新しいコマンドを開き、nvmを実行します。

nvmを使用して公式サイトからNodeをインストールする必要はありません。nvmを実行しているNodeの最新バージョンをインストールできますnvm install latest
マルコラッコビッチ

0

今日、Linuxサーバーでまったく同じ問題が発生しました。そして、その理由は、私がmake install後で行わずmake、生成されたを直接呼び出そうとしたため、本当に簡単npmです。したがって、PATHとすべてがめちゃくちゃでした。

だから、私のために、解決策はただ行うことですmake install後にmakeし、実行npmの下に.node/bin/npm

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.