18

だから私の問題はこれです。package.json を含むプロジェクトがあります。コマンドプロンプト(cmd.exe)で「npm install」を実行すると、すべてが期待どおりにインストールされます。ただし、PowerShell (powershell.exe) でまったく同じことを行うと、「npm ERR! エラー: ENOENT、'c:\package.json' を開いてください」というエラーが表示されます。プロジェクト。c: で package.json を常に検索します。何らかの理由で理解できません。

以下は npm-debug.log です (私のパスは c:\code\myProject ですが、ic: とも書かれています):

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 ]

この問題の解決策がどこにも見つかりません。node と npm 自体の両方が機能するため、PATH 変数は正しく設定されています。

4

2 に答える 2

19

私にとっては、Powershell でこれを行う方がはるかに簡単でした。

$env:Path += ";C:\Program Files\nodejs\"

powershell で「npm」を​​実行すると、すぐに起動しました。

于 2015-05-06T21:05:03.750 に答える
11

.npmrcプレフィックスを明示的に設定するために使用します。

  • に進み\Users\%USERNAME%\.npmrcます。たとえば、Powershell では次のようになります。

    Notepad "\Users\$env:USERNAME\.npmrc"
    
  • プレフィックスを設定します。

    prefix = "C:/Program Files/nodejs" 
    

参考文献

于 2014-04-24T02:27:15.210 に答える