NodeをWindows 10にインストールしようとすると問題が発生し、解決策が見つかりました。
エラーは次のとおりです。
C:\ Users\Stephan> npm
エラー:ENOENT、stat 'C:\ Users\Stephan\AppData\Roaming\npm'
解決策は次のとおりです。
編集:新しいインストーラーにはもうこの問題はないようです。 この答え by Parag Meshram 私の答えは今では時代遅れだからです。
元の答え:
次の手順に厳密に従ってください。
C:\Program Files\nodejs
PATH
を選択し、編集することを選択します。PATH変数がempty
の場合、これをC:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs
に変更します。
PATH変数に既にC:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm
が含まれている場合、次の直後に;C:\Program Files\nodejs
を追加します。
PATH変数に情報が含まれているが、npmに関する情報が含まれていない場合、これをPATHの最後に追加します:;C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs
PATH変数が正しく設定されたので、引き続きエラーが発生します。手動でAppDataディレクトリに移動すると、Roaming内にnpmディレクトリがないことがわかります。このディレクトリを手動で作成します。
コマンドプロンプトを再起動すると、npmが機能します。
http://nodejs.org/ に移動します
[ダウンロード対象...]ボタンを押します
これにより、選択した回答とは異なり、すべてのインストールとパスを実行する.msi(またはMacの場合は.pkg)がダウンロードされます。
@StephanBijzitterからの答えに加えて、代わりに次のPATH
変数を使用します。
%appdata%\npm
%ProgramFiles%\nodejs
したがって、新しいPATH
は次のようになります。
[existing stuff];%appdata%\npm;%ProgramFiles%\nodejs
これには、neiterがユーザー依存でも32/64ビット依存でもないという利点があります。
新しいインストーラー( https://nodejs.org からダウンロードされた.msi)には「パスに追加」オプションがあります。デフォルトでは選択されています。必ずチェックしたままにしてください。
インストーラーを管理者として実行する必要があります。
私は同じ問題を抱えていました。それは、ノードがインストールされている間、10分間ほどアンチウイルス保護を有効にしていましたが、それは魅力的でした。
すべては「プログラムファイル」ではなく、%appdata%(C:\ Users \\ AppData\Roaming)にインストールする必要があります。
その理由は...
デフォルトのMSIインストーラーは、ノードとそれに付属するNPMを「プログラムファイル」に入れてシステムパスに追加しますが、NPMのユーザーパスを%appdata%(c:\ users [username]\appdata\roamingに設定します)ユーザーには「プログラムファイル」に書き込むための十分な特権がないためです。
これにより、すべてのモジュールが%appdata%に入ると混乱が生じ、NPM自体をアップグレードすると(NPM自身がすぐに行うことをお勧めします)、NPMが消去できないため、元のコピーは「プログラムファイル」のままになりますそれと、新しいインの%appdata%です。
さらに悪いことに、誤ってNPM操作を管理者として実行すると(Windowsでは* nixよりもはるかに簡単です)、NPM node_modulesの「プログラムファイル」コピーで動作します。潜在的に本当の混乱。
そのため、インストーラーを実行するときは、単に%appdata%を指すようにし、これをすべて回避します。
そして、これは何もおかしくないことに注意してください-ユーザー特権だけでインストーラーを実行した場合に起こることです。
AppDataを変更する必要がある理由は次のとおりです。
それを行った後でも、最新のLTE(4.4.4)はWindows 10でまだ問題を抱えています。
$ npm install _some_package_ --global
ノードが「FATAL ERROR CALL_AND_RETRY_LAST Allocation failed-process out of memory」エラーをスローします。それでもその問題の解決策を見つけようとします。
動作するのは、VagrantまたはVirtual boxを実行してから、Linuxコマンドライン(パスに一致する必要がある)を実行することだけです。