npm install在Windows PowerShell中不起作用
所以我的问题是这个。 我有一个package.json项目。 当我在命令提示符下(cmd.exe)运行“npm install”时,所有的事情都按照预期安装。 然而,当我做PowerShell(powershell.exe)完全相同的东西时,我得到一个错误:“npm ERR!错误:ENOENT,打开'c:\ package.json'”,即使我运行“npm install”该项目。 它总是在c中searchpackage.json:出于某种原因我无法理解。
下面是npm-debug.log(也是写成ic:即使我的path是c:\ code \ myProject):
0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Program Files\\nodejs\\\\node.exe', 1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'install' ] 2 info using npm@1.3.11 3 info using node@v0.10.21 4 verbose node symlink C:\Program Files\nodejs\\node.exe 5 error install Couldn't read dependencies 6 error Error: ENOENT, open 'c:\package.json' 7 error If you need help, you may report this log at: 7 error <http://github.com/isaacs/npm/issues> 7 error or email it to: 7 error <npm-@googlegroups.com> 8 error System Windows_NT 6.2.9200 9 error command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" 10 error cwd c:\ 11 error node -v v0.10.21 12 error npm -v 1.3.11 13 error path c:\package.json 14 error code ENOENT 15 error errno 34 16 verbose exit [ 34, true ]
我无法find解决这个问题的任何地方。 由于节点和npm本身都工作,所以PATHvariables设置正确。
使用.npmrc
显式设置前缀:
-
转到
\Users\%USERNAME%\.npmrc
。 例如,在Powershell中:Notepad "\Users\$env:USERNAME\.npmrc"
-
设置前缀:
prefix = "C:/Program Files/nodejs"
参考
- 是否有手动安装node.js for Windows 7?
- 使用PowerShell从快捷方式打开程序
- nodeJS模块:从全局文件夹加载
- npm config自述文件
- npm文件夹:前缀configuration
- nodejs源:legacy-npm-self-install.js
- 正斜杠用法
对我来说,在Powershell中做这件事更容易。
$env:Path += ";C:\Program Files\nodejs\"
在PowerShell中运行“npm”,马上跑出来。