2014-12-07 231 views

回答

92

編輯: 好像新的安裝程序沒有這個問題了,看到this answer通過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目錄,你會發現漫遊中沒有npm目錄。手動創建該目錄。

重新啓動命令提示符,現在npm將工作。

+0

此解決方案是否適用於所有Windows10版本? – captainrad 2015-03-25 21:22:15

+2

@captainrad到目前爲止我沒有任何麻煩,但我無法確定在12月7日之前發佈 – 2015-03-26 08:23:59

+1

@captainrad它將C:\ Program Files \ nodejs中的文件複製到C:\ Users \ {Your USERNAME HERE} \ AppData \ Roaming \ npm在Windows 10上 – Onuralp 2015-03-28 14:19:01

52

http://nodejs.org/

,打,說:「下載爲...」

這將下載的.msi,將完成所有的安裝和路徑,你(不像選擇答案按鈕)

+1

介意解釋爲什麼接受的答案不適合你? – 2015-10-04 11:51:55

+9

接受的答案要求我手動輸入不需要的路徑,如果您運行安裝程序(.msi)。 – foreyez 2015-10-04 14:42:40

+1

然後,無論安裝程序是否已更新爲在過去幾周內自動執行此操作,或者您剛剛在系統上運行良好:-)但是,我確實懷疑這一點。 – 2015-10-05 06:53:21

13

除了回答@StephanBijzitter我會用以下PATH變量來代替:

%appdata%\npm 
%ProgramFiles%\nodejs 

因此新PATH會是什麼樣子:

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

這有neiter是依賴於用戶的,也沒有32位/ 64位依賴的優勢。

+0

如果您已將它安裝在默認位置,這很好,但請記住,如果您沒有這樣做,這隻會使PATH變量雜亂無章。 – 2016-08-27 10:37:15

2

您應該以管理員身份運行安裝程序。

  1. 運行命令提示符以管理員身份
  2. CD目錄MSI文件是目前
  3. 推出的MSI文件通過在命令提示符下鍵入名稱
  4. 你應該高興地看到所有節點的命令工作來自新的命令提示符殼
0

你之所以要修改應用程序數據可能是:

  1. Node.js無法處理長度超過256個字符的路徑,Windows往往會有很長的PATH。
  2. 如果您是從公司環境登錄的,您的AppData可能位於服務器上 - 這是行不通的。 npm目錄必須位於本地驅動器中。

即使這樣做,最新的LTE(4.4.4)仍然有問題與Windows 10之後,它的工作一小會兒,然後每當我嘗試:

$ npm install _some_package_ --global 

節點拋出「FATAL錯誤CALL_AND_RETRY_LAST分配失敗 - 處理內存不足「錯誤。仍然試圖找到解決這個問題的方法。

我找工作的唯一一件事就是跑流浪或虛擬框,然後運行在Linux命令行(必須匹配的路徑),這是一個相當混亂的解決方案。

4

新的安裝程序(.MSI從https://nodejs.org下載)有 「添加到PATH」 選項。默認情況下,它被選中。確保你不會取消選中它。

Add to PATH

+0

好吧終於:-) – 2017-03-11 11:03:10

+0

奇怪的是,我用這個安裝程序,他們絕對檢查。我仍然需要在路徑變量中添加nodejs文件夾 – DerpyNerd 2017-10-21 10:58:03

0

一切都應該被安裝在%APPDATA%(C:\用戶\\應用程序數據\漫遊),而不是 '程序文件'。

這裏的原因...

默認的MSI安裝程序把節點和隨之而來的「程序文件」和其加入到系統路徑故宮,但它爲NPM用戶路徑%APPDATA %(c:\ users [用戶名] \ appdata \ roaming),因爲用戶沒有足夠的權限來寫入'程序文件'。

這將創建一個爛攤子,因爲所有模塊進入%APPDATA%,並且當你升級NPM本身 - 這NPM自己建議你做對了 - 你最終有兩個副本:仍處於「程序文件」原來因爲NPM無法擦除,而新的店%appdata%。

更糟的是,如果錯誤地執行NPM操作的管理員(在Windows上容易得多然後在* nix),那麼它將在NPM node_modules的「程序文件」複製操作。可能是一個真正的混亂。

所以,當你運行安裝程序只是其指向%APPDATA%和逃避這一切。

而且注意,這是沒有什麼奇怪的 - 這是,如果你跑了只是用戶priveleges安裝程序會發生什麼。