运行npm时找不到npm-cli.js

问题描述 投票:63回答:22

通常我可以使用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\

node.js npm yeoman ionic-framework
22个回答
82
投票

事实证明,问题是由于系统变量中的节点路径错误。该路径目前指向

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

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

所以我改为

C:\Program Files\nodejs

它就像一个魅力。


4
投票

在我安装GoogleChrome/puppeteer之后,这开始发生在我身上,解决方案是重新安装npm:

$ npm i npm@latest

要么

$ npm install npm@latest

4
投票

与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中创建。


3
投票

除了上面我还必须删除C:\Users\%USERNAME%\AppData\Roaming\npm。这有帮助。


2
投票

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


1
投票

只需运行此命令:

npm i npm@latest -g

1
投票

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


1
投票

npm install -g npm @ [version]修复了问题


0
投票

VS2017中的解决方案(在工具|选项...下)

Under Tools | Options ...

我将路径更改为: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这是一种方式,所以看看你是否遇到了同样的问题。


0
投票

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


27
投票

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

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

0
投票

这里没有任何解决方案对我有用,但在我重新启动系统并再次执行npm install后,它起作用了。我猜想我之前运行过的一个或多个进程。

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


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文件夹并将其粘贴。然后我用npm install npm@next -g更新了我的npm,一切都重新开始了。


0
投票

对我来说,没有上述工作,我只是注意到,每次我执行“npm install ...”时,任何npm命令都会停止工作。所以每做一次安装,我都要运行NodeJS安装程序并选择“修复”。直到找到真正的解决方案:)


0
投票

将NPM更新到最新版本对我有用:

npm install npm@latest -g

21
投票

如果在你的路径中你有C:\Program Files\nodejsC:\Program Files\nodejs\node_modules\npm\bin,你可能也有这个问题。从路径中删除后者


13
投票

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

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%" %*

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

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

npm.cmd install

对此

cmd.exe /c npm.cmd install

13
投票

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

转到Control Panel\All Control Panel Items\Programs and Features - >找到NodeJS并选择修复它来修复它。希望这可以帮助。


12
投票

从已安装的节点路径复制名为npm的目录(在我的例子中,npm目录在C:\Program Files\nodejs\node_modules中可用)。

导航到C:\Users\%USERNAME%\AppData\Roaming\npm\node_modules并将复制的npm目录粘贴到那里。

当我遇到同样的错误时,这种方法对我有用。 。 。


6
投票

没有其他答案对我有用。

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

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

5
投票

在Mac上:

当我遇到同样的错误时,我正在使用Maven com.github.eirslett Frontend插件运行它。

最终我不得不:

通过安装程序下载安装Node.js:http://nodejs.org/

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


5
投票

不要更改任何环境变量

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

我刚刚修复了Windows 7上的NODEJS设置,它运行良好。可能是你可以重新安装,只是因为某些东西不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.