node.js-运行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\

user1192476 asked 2019-10-05T22:21:09Z
22个解决方案
71 votes

事实证明,问题出在系统变量中节点的路径错误。 该路径当前指向

(我真的不知道何时修改它)

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

所以我改成

C:\ Program档案\ nodejs

它就像一个魅力。

user1192476 answered 2019-10-05T22:21:53Z
24 votes

您需要在命令行中运行它。

SET PATH=C:\Program Files\Nodejs;%PATH%
Prathap Kudupu answered 2019-10-05T22:22:17Z
20 votes

如果您的路径中有C:\Program Files\nodejsC:\Program Files\nodejs\node_modules\npm\bin,也可能会出现此问题。从路径中删除后者

Peter Sun answered 2019-10-05T22:22:41Z
12 votes

我刚刚修复了NodeJS安装,它对我有用!

转至Control Panel\All Control Panel Items\Programs and Features->查找NodeJS并选择选项维修对其进行维修。 希望这可以帮助。

3AK answered 2019-10-05T22:23:12Z
11 votes

这与问题的情况不同,但对于面临类似问题的人可能会有所帮助。 在Windows上,如果从某些CI /自动化工具中调用%~dp0命令,则可能会遇到以下错误:

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

其中%~dp0不是%~dp0,而是某些项目目录。 因此,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%" %*

该脚本使用%~dp0查找npm-cli.js,但是某些自动化工具可以以%~dp0指向本地项目目录的方式设置工作目录,因此该脚本无法正常工作。

一种可能的解决方案是从此更改npm调用

npm.cmd install

对此

cmd.exe /c npm.cmd install
admax answered 2019-10-05T22:24:07Z
7 votes

从已安装的节点路径复制名为C:\Users\%USERNAME%\AppData\Roaming\npm\node_modules的目录(在我的情况下,npm目录在npm中可用)。

导航到C:\Users\%USERNAME%\AppData\Roaming\npm\node_modules,然后将复制的npm目录粘贴到该目录中。

当我遇到相同的错误时,此方法对我有用。 。 。

Manoj answered 2019-10-05T22:24:46Z
6 votes

没有其他答案对我有用。

这是我写的(在Windows上的git bash shell中):

PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman
edi9999 answered 2019-10-05T22:25:19Z
5 votes

在Mac上:

当我遇到相同的错误时,我正在Maven com.github.eirslett前端插件中运行此文件。

最终我不得不:

通过在此处下载的安装程序安装Node.js:[http://nodejs.org/]

从我的Maven构建结构中删除所有node/node_modules/文件夹。

RedYeti answered 2019-10-05T22:26:10Z
5 votes

不要更改任何环境变量

导致该问题的是安装程序,未安装所有必需的文件。

我刚刚修复了Windows 7上的NODEJS安装程序,并且效果很好。 也许您可以重新安装,以防万一某些东西不起作用。

TARJU answered 2019-10-05T22:26:51Z
4 votes

与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。 我发现是因为以前没有在node_modules内部创建“ npm \ bin \ npm-cli.js”文件夹和文件。

olagu answered 2019-10-05T22:27:24Z
3 votes

除上述之外,我还必须删除C:\Users\%USERNAME%\AppData\Roaming\npm。这有帮助。

Romko answered 2019-10-05T22:27:50Z
2 votes

升级到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个小时在互联网上寻找解决方案。 通过结合以上答案,我终于解决了这个问题。

hamzox answered 2019-10-05T22:28:51Z
2 votes

在我安装了GoogleChrome / puppeteer之后,这种情况开始出现在我身上,解决方法是重新安装npm:

$ npm i npm@latest

要么

$ npm install npm@latest
mythz answered 2019-10-05T22:29:21Z
1 votes

我在Windows上遇到了同样的问题。我刚刚修复了Node,在Windows上重新启动命令后,它工作正常。

Hello Universe answered 2019-10-05T22:29:48Z
0 votes

VS2017中针对我的解决方案(在“工具” |“选项”下)

Under Tools | Options ...

我将路径更改为:C:\ Program Files \ nodejs

Michael Maier answered 2019-10-05T22:30:21Z
0 votes

在Windows7上安装Node9.0.0时遇到了这个问题最后的解决方案是删除npmnpm.cmd像素npx.cmd从C:\ Program Files \ nodejs \ node_modules \ npm \ bin在执行此变通办法之前,先运行C:\ Program Files \ nodejs \ npm所以这是一种方法,看看您是否遇到与我相同的问题。

Griffin answered 2019-10-05T22:30:48Z
0 votes

在node_modules内手动创建一个npm文件夹,然后使用修复选项重新运行安装程序。 它复制丢失的文件。

Saurabh Nainwal answered 2019-10-05T22:31:16Z
0 votes

这里的解决方案都不适合我,但是在我重新启动系统并再次执行npm install之后,它仍然有效。我猜想我会坚持执行一个或多个进程。

Windows 10上的简单PC重新启动对我来说神奇!

papigee answered 2019-10-05T22:31:49Z
0 votes

就我而言,我使用的是nvm-windows 1.1.6,并且我使用nvm install latest更新了我的nodejs版本,最终告诉我已安装了nodejs和npm,但是当我尝试执行C:\Program Files\nodejs时,我收到了

错误:找不到模块“ 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里面没有任何东西,导致此错误。 解决方案是从以前版本的2556462259782550550文件夹之一复制npm文件夹并粘贴。然后我用npm install npm@next -g更新了npm,一切又开始正常工作。

Cemal answered 2019-10-05T22:32:32Z
0 votes

对我来说,以上方法均无效,我只是注意到,每次执行“ npm install ...”时,任何npm命令都会停止工作。因此,每次安装时,我都必须运行NodeJS安装程序并选择“修复”。直到找到真正的解决方案为止:)

Olivier answered 2019-10-05T22:33:02Z
0 votes

npm install -g npm @ [version]解决了问题

repo answered 2019-10-05T22:33:31Z
-1 votes

只需运行以下命令:

npm i npm@latest -g
AissaDevLab answered 2019-10-05T22:34:01Z
translate from https://stackoverflow.com:/questions/24721903/npm-cli-js-not-found-when-running-npm