web-dev-qa-db-ja.com

Windows 10にNode.js(およびnpm)をインストールする

NodeをWindows 10にインストールしようとすると問題が発生し、解決策が見つかりました。

エラーは次のとおりです。

C:\ Users\Stephan> npm
エラー:ENOENT、stat 'C:\ Users\Stephan\AppData\Roaming\npm'

解決策は次のとおりです。

61

編集:新しいインストーラーにはもうこの問題はないようです。 この答え by Parag Meshram 私の答えは今では時代遅れだからです。

元の答え:

次の手順に厳密に従ってください。

  • http://nodejs.org/download/ 64ビットバージョンをダウンロード、32はヒップスター向け
  • デフォルトで、好きな場所にインストールします: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が機能します。

111

http://nodejs.org/ に移動します

[ダウンロード対象...]ボタンを押します

これにより、選択した回答とは異なり、すべてのインストールとパスを実行する.msi(またはMacの場合は.pkg)がダウンロードされます。

60
foreyez

@StephanBijzitterからの答えに加えて、代わりに次のPATH変数を使用します。

%appdata%\npm
%ProgramFiles%\nodejs

したがって、新しいPATHは次のようになります。

[existing stuff];%appdata%\npm;%ProgramFiles%\nodejs

これには、neiterがユーザー依存でも32/64ビット依存でもないという利点があります。

14
Dunken

新しいインストーラー( https://nodejs.org からダウンロードされた.msi)には「パスに追加」オプションがあります。デフォルトでは選択されています。必ずチェックしたままにしてください。

Add to PATH

9
Parag Meshram

インストーラーを管理者として実行する必要があります。

  1. 管理者としてコマンドプロンプトを実行します
  2. msiファイルが存在するcdディレクトリ
  3. コマンドプロンプトに名前を入力してmsiファイルを起動します
  4. すべてのノードコマンドが新しいコマンドプロンプトシェルから機能することを確認してください。
2
arunram

私は同じ問題を抱えていました。それは、ノードがインストールされている間、10分間ほどアンチウイルス保護を有効にしていましたが、それは魅力的でした。

2
Adeel Imran

すべては「プログラムファイル」ではなく、%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%を指すようにし、これをすべて回避します。

そして、これは何もおかしくないことに注意してください-ユーザー特権だけでインストーラーを実行した場合に起こることです。

1
Tom

AppDataを変更する必要がある理由は次のとおりです。

  1. Node.jsは256文字より長いパスを処理できませんでした。ウィンドウは非常に長いPATHを持つ傾向があります。
  2. 企業環境からログインしている場合、AppDataがサーバー上にある可能性があります-これは機能しません。 npmディレクトリはローカルドライブに存在する必要があります。

それを行った後でも、最新の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コマンドライン(パスに一致する必要がある)を実行することだけです。

0
Joel Chu