目錄
嘗試使用最新穩定版本的 npm
目錄
查看您正在執行哪個版本的 npm
npm -v
在 *nix
(OSX、Linux 等) 上升級
(您可能需要在這些指令前加上 sudo
,特別是在 Linux 或 OS X 上,如果您使用其預設安裝程式安裝 Node 的話。)
您可以使用下列指令升級至最新版本的 npm
npm install -g npm@latest
在 Windows 上升級
預設情況下,npm 會與 node 一起安裝在
C:\Program Files (x86)\nodejs
npm 全域安裝的套件 (包括 npm 本身) 會另外儲存在使用者特定的目錄中 (目前為
C:\Users\<使用者名稱>\AppData\Roaming\npm
).
因為安裝程式會將
C:\Program Files (x86)\nodejs
置於
C:\Users\<使用者名稱>\AppData\Roaming\npm
在您的 PATH
之前,因此它將始終使用隨 node 安裝的 npm 版本,而不是您使用 npm -g install npm@<版本>
安裝的 npm 版本。
為了解決此問題,您可以執行下列其中一項操作
-
選項 1:編輯您的 Windows 安裝的
PATH
,將%appdata%\npm
置於%ProgramFiles%\nodejs
之前。請記住,當您對PATH
或 npm 安裝方式進行變更時,您需要重新啟動cmd.exe
(並可能重新啟動 Windows)。 -
選項 2:移除下列兩個
%ProgramFiles%\nodejs\npm
%ProgramFiles%\nodejs\npm.cmd
-
選項 3:導覽至
%ProgramFiles%\nodejs\node_modules\npm
並將npmrc
檔案複製至另一個資料夾或桌面。然後以管理員身分開啟cmd.exe
並執行下列指令
cd %ProgramFiles%\nodejsnpm install npm@latest
如果您使用 node.js 安裝程式安裝 npm,在執行前述步驟之一後,請執行下列動作。
-
選項 1 或 2
- 進入
%ProgramFiles%\nodejs\node_modules\npm
並複製新 npm 資料夾中的名為npmrc
的檔案,該資料夾應為%appdata%\npm\node_modules\npm
。這將告訴新的 npm 全域安裝的套件在哪裡。
- 進入
-
選項 3
- 將 npmrc 檔案複製回
%ProgramFiles%\nodejs\node_modules\npm
- 將 npmrc 檔案複製回
(如果您使用的是 Windows 7 且沒有 %appdata%\npm
目錄,請參閱以下重點。)
關於內建 Windows 組態的簡要說明
Node 安裝程式會直接安裝到 npm 資料夾中,其中包含一項 Windows 特定的設定,用來告知 npm 安裝全域套件的位置。當 npm 用於安裝自身時,它應該會將這個特殊的 builtin
設定複製到新的安裝中。在某些版本的 npm 中存在一個錯誤,導致此功能無法正常運作,因此您可能需要手動進行修復。執行下列指令,查看 npm 將安裝全域套件的位置,以驗證是否正確。
npm config get prefix -g
如果未設定為 <X>:\Users\<user>\AppData\Roaming\npm
,您可以執行下列指令進行修正
npm config set prefix %APPDATA%\npm -g
順帶一提,如果您不希望套件安裝到您的漫遊設定檔(因為您在共用網路中具有配額,或會導致從網域登入或登出時速度變慢),您可以將其改為安裝到您的本機應用程式資料中
npm config set prefix %LOCALAPPDATA%\npm -g
...並將 %APPDATA%\npm
複製到 %LOCALAPPDATA%\npm
(當然,還要更新您的 %PATH%
)。
所有在 npm 上工作的人都知道這個程序很複雜且充滿風險,我們正在努力簡化它。敬請期待。