web-dev-qa-db-ja.com

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

通常、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\にあることを確認します

66
user1192476

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

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

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

だから私は

C:\ Program Files\nodejs

そしてそれは魅力のように機能します。

75
user1192476

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

SET PATH=C:\Program Files\Nodejs;%PATH%
27
Prathap Kudupu

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

21
Peter Sun

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

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

12
3AK

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

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

ここでSOME_PATHProgram Files/...ではなく、代わりに何らかのプロジェクトディレクトリです。したがって、npmはProgram Files/nodejsで検索する代わりに、プロジェクトのルートディレクトリ内でnpm-cli.jsを検索しようとします。

理由は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%" %*

このスクリプトは%~dp0を使用してnpm-cli.jsを検索しますが、一部の自動化ツールは、%~dp0がローカルプロジェクトディレクトリを指すように作業ディレクトリを設定し、スクリプトが正しく動作しない場合があります。

1つの可能な解決策は、これからnpmコールを変更することです

npm.cmd install

これに

cmd.exe /c npm.cmd install
11
admax

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

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

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

8
Manoj

他の答えはどれも私にとってはうまくいきませんでした。

ここに私が書いているものがあります(Windowsのgit bashシェルで):

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

Macの場合:

同じエラーが発生したときに、Maven com.github.eirslett Frontend Pluginからこれを実行していました。

最終的に私はする必要がありました:

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

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

5
RedYeti

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

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

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

5
TARJU

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内に作成されなかったことが原因だと考えました。

4
olagu

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

$ npm i npm@latest

または

$ npm install npm@latest
4
mythz

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

3
Romko

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

2
hamzox

npm install -g npm @ [version]は問題を修正しました

1
repo

Windowsでも同じ問題が発生しました。 Nodeを修復しましたが、Windowsでコマンドを再起動すると正常に機能しました。

1
Hello Universe

このコマンドを実行するだけです:

npm i npm@latest -g
1
AissaDevLab

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

Windows 10での単純なPCの再起動は私にとって魔法でした!

0
papigee

VS2017でのソリューション([ツール] | [オプション])

Under Tools | Options ...

パスを次のように変更しました:C:\ Program Files\nodejs

0
Michael Maier

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

0
Saurabh Nainwal

解決策は、これを行う前にC:\ Program Files\nodejs\node_modules\npm\binからnpm npm.cmd npx npx.cmdを削除することでした。 C:\ Program Files\nodejs\npmを実行して、これが1つの方法であるため、同じ問題が発生しているかどうかを確認します。

0
Griffin

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

0
Olivier