簡體   English   中英

在 Windows 10 上安裝 Node.js(和 npm)

[英]Installing Node.js (and npm) on Windows 10

我在嘗試在 Windows 10 上安裝 Node 時遇到了一些問題並找到了解決方案。

錯誤如下:

C:\用戶\斯蒂芬>npm
錯誤:ENOENT,stat 'C:\Users\Stephan\AppData\Roaming\npm'

解決方案如下。

編輯:似乎新安裝程序不再有這個問題,請參閱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 現在可以工作了。

訪問http://nodejs.org/

並點擊“下載用於...”的按鈕

與所選答案不同,這將下載 .msi(或 Mac 的 .pkg),它將為您完成所有安裝和路徑。

除了@StephanBijzitter 的答案之外,我還會使用以下PATH變量:

%appdata%\npm
%ProgramFiles%\nodejs

所以你的新PATH看起來像:

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

這具有既不依賴於用戶也不依賴於 32/64 位的優點。

新安裝程序(從https://nodejs.org下載的 .msi)具有“添加到 PATH”選項。 默認情況下,它被選中。 確保將其選中。

添加到路徑

一切都應該安裝在 %appdata% (C:\Users\\AppData\Roaming) 中,而不是“程序文件”中。

這就是為什么...

默認的 MSI 安裝程序將 Node 和它附帶的 NPM 放在“程序文件”中並將其添加到系統路徑中,但它將 NPM 的用戶路徑設置為 %appdata% (c:\users[username]\appdata\roaming ) 因為用戶沒有足夠的權限來寫入“程序文件”。

當所有模塊都進入 %appdata% 時,這會造成混亂,並且當您升級 NPM 本身時(NPM 自己建議您立即執行此操作)您最終會得到兩個副本:由於 NPM 無法擦除原始仍然在“程序文件”中那,還有新一號旅館%appdata%。

更糟糕的是,如果您錯誤地以管理員身份執行 NPM 操作(在 Windows 上比在 *nix 上容易得多),那么它將在 NPM node_modules 的“程序文件”副本上運行。 可能是一個真正的混亂。

因此,當您運行安裝程序時,只需將其指向 %appdata% 並避免所有這些。

請注意,這並不是什么奇怪的事情——如果您只使用用戶權限運行安裝程序,就會發生這種情況。

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

  1. 以管理員身份運行命令提示符
  2. cd 存在 msi 文件的目錄
  3. 通過在命令提示符中鍵入名稱來啟動 msi 文件
  4. 您應該很高興看到所有節點命令都可以在新的命令提示符 shell 中運行

我遇到了同樣的問題,幫助我們在安裝節點時將我的防病毒保護關閉了 10 分鍾,它就像一個魅力一樣工作。

您必須修改 AppData 的原因可能是:

  1. Node.js 無法處理超過 256 個字符的路徑,Windows 的 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 命令行(必須匹配路徑),這是一個相當混亂的解決方案。

我遇到了同樣的問題,但是在嘗試了這篇文章的所有內容后都沒有成功,我只需要重新啟動。 所以如果你安裝后沒有試過重啟電腦,試試看。

安裝后重新啟動計算機

對我來說,我不得不刪除 \program 文件中的 nodejs 文件夾,然后當我通過 msi 進行安裝時,它就可以工作了。 好像當我卸載 Node 時它實際上並沒有刪除這個文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM