git bash找不到模块npm-cli.js

时间:2017-08-10 09:48:40

标签: node.js git bash npm

$ npm install
module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\c\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3
module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\c\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

我注意到了这个

  

C:\ c \ Program Files \

我认为路径被覆盖,我在环境变量中设置了路径

当我做node -V时,NodeJs运行良好我获得了版本,当我npm -V崩溃时,我怎么能解决这个问题

PS:我正在使用Windows 10 Pro

4 个答案:

答案 0 :(得分:1)

Program Files\nodejs\npm中,node.exe已执行且不是节点脚本,因此,git-bash会转换npm-cli.js' s Windows路径的路径。

npm Version: 3.10.10
Platform: MINGW64_NT-6.1 2.5.0(0.295/5/3) 2016-03-31 18:47 x86_64 Msys
     

当我在git bash中运行npm(/ c / Program Files / nodejs / npm)时(使用它)   MINGW)npm脚本抛出:错误:找不到模块' C:\ c \ Program   文件\的NodeJS \ node_modules \ NPM \ BIN \ NPM-cli.js'

     

问题是npm shell脚本执行窗口node.exe   但为它提供了npm-cli.js的unix路径。

     

正如我所看到的那样,修复方法也是使用cygpath为MINGW转换路径   以及/ c / Program Files / nodejs / npm第6-8行:

case `uname` in
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
    *MINGW*) basedir=`cygpath -w "$basedir"`;;
esac

阅读NPM issue #18499 on GitHub了解详情。

答案 1 :(得分:0)

我找到了一个解决方案,因为这个变量位于环境变量中:

  

MSYS_NO_PATHCONV = 1

我不知道为什么会发生这种冲突,无论如何如果我找到了,我会更新我的答案

答案 2 :(得分:0)

您应该安装唯一的LTS版本的节点 https://nodejs.org/en/

答案 3 :(得分:0)

如果您已重新安装Node.Js,并且之前已在环境变量中设置了节点路径,则应将其删除,然后它将起作用