當前位置: 首頁>>技術問答>>正文


如何將Node.js以及npm更新到下一個新版本?

1.Node.js和NPM安裝的問題

我已經安裝了Node.js以及npm,其中npm用於管理額外的模塊。

那麽如何將Node.js和我使用的那些模塊更新到最新版本呢?

可以直接使用npm完成操作嗎?或者我必須刪除並重新安裝Node.js和npm才能獲得下一個版本?

我是遵照這篇文章https://github.com/joyent/node/wiki/Installation(步驟3a)來操作的。

 

2.常用的解決方法: npm update

請參閱update命令的文檔:

npm update [<name> [<name> ...]]

這個命令將更新列出的所有包到最新版本(由標簽配置指定),它還會自動安裝缺少的包。

nodejs-npm-publish-730x340

另外,請參閱FAQ

如何更新npm?

npm install -g npm 

注意這個命令會刪除您當前的npm版本。如果在Mac係統上,請使用命令:sudo npm install -g npm

您還可以通過執行 npm update 而不使用任何參數,或者執行npm update -g來更新所有過時的程序包。

要更新Node.js本身,建議您使用nvm, Node版本管理器

 

3.極簡主義者的解決思路

我發現在David Walsh的博客上,更新節點的方法非常簡單:可以通過安裝n來實現:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

它將安裝當前穩定版本的node。不過,這個稍顯tricky, 還是建議使用nvm

 

4.Windows上的解決方法

我明白這個問題是關於linux機器上的Node.js和NPM,但是實際上也有人正在尋找Windows上的解決方案。經過大量的網上搜索衝浪,都沒有找到一個直接的解決方案。直到我試著去了網站nodejs site,然後點擊主頁上的下載按鈕並執行安裝程序。

非常幸運的是,居然有效。通過點擊幾下’Next’按鈕,我得到了最新的0.8.15 node.js版本,並正常運行在我的Windows-7機器上。希望這個方法能幫到其他的Windows-7用戶!
windows_nodejs_npm

5.幾種不同的解決思路

我們都知道,NPM目前與Node.js是捆綁在一起的,這意味著如果已經安裝了node,那麽也安裝了npm。通常有幾種方法都可以用於保持Node.js和NPM的最新狀態,我們需要使用以下版本管理器之一:

Homebrew

如果你使用Mac係統,可以使用Homebrew。使用brew安裝NodeJS和NPM:

$ brew install node

之後你可以使用更新命令:

$ brew update && brew upgrade node

NPM也將更新。

如果需要,可以使用命令switch轉換到以前的版本,例如:

$ brew switch node 0.10.26

要安裝brew到您的Mac:

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

N

nrvm(Ruby Version Manager:Ruby版本管理)非常相似,可用於管理和更新node/npm版本。

輕鬆安裝Node.js版本:

$ n 0.10.26
$ n 0.8.17
$ n 0.9.6

使用/安裝最新的官方版本:

$ n latest

使用/安裝穩定正式版本:

$ n stable

切換到以前使用的版本:

$ n prev

如果要查看已安裝Node列表,隻需從命令行運行n,輸出結果如下所示:

$ n

  0.10.26
• 0.8.17
  0.9.6

點(•)表示它是當前活動的版本。要從列表中選擇節點版本,使用updown箭頭,並使用enter激活。

n這個程序包采用純linux shell語言編寫,可作為npm模塊(包含package.json)使用,所以一旦安裝了Node.js,就可以通過npm來安裝/更新n

$ npm install -g n

NVM

nvm也跟RVM一樣,命令名稱和用法非常近似。

要使用nvm下載、編譯和安裝最新v0.10.x版本的Node.js:

$ nvm install 0.10

切換到已安裝的版本:

$ nvm use 0.10

也可以在項目根文件夾中創建一個包含版本號的.nvmrc文件;然後運行以下命令切換到指定的版本:

$ nvm use

或者你可以運行這個命令:

$ nvm run 0.10

如果想查看已經安裝了哪些版本,請使用:

$ nvm ls

要安裝nvm本身,可以使用cURL來執行安裝腳本(需要git):

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

wget

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

補充說明一下:
所有這些我在MacOSX和Linux上使用的方法,不一定適用於在Windows上管理Node.js版本。

 

5.其他方案一

使用如下命令,更新npm很容易:

npm install npm@latest -g

 

6.其他方案二

Windows用戶的升級

Windows用戶應在npm維基中閱讀Troubleshooting > Upgrading on Windows

使用PowerShell的Windows 10係統的升級

上麵的鏈接 Troubleshooting#upgrading-on-windows指向一個github頁麵npm-windows-upgrade,下麵的解決方法引用了readme文件。我使用Node v5.7.0和powershell(PowerShell版本5.0.10586.122),成功從npm 2.7.4升級到了npm 3.9.3。

首先,確保您可以從PowerShell運行以下命令來在係統上執行腳本。要以管理員身份運行PowerShell,依次單擊開始、搜索PowerShell、右鍵單擊PowerShell,然後選擇以管理員身份運行。

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force    

然後,要安裝和使用這個升級工具,運行(也可以從PowerShell或cmd.exe):

npm install --global --production npm-windows-upgrade
npm-windows-upgrade

 

7.補充方案一

  • 更新節點使用nvm(或nvmw為Windows)。
  • 要更新npm,npm update npm -g命令對於使用windows的我無效。有效的方法,是根據文檔,重新安裝npm:“您可以從https://npmjs.org/dist/下載zip文件,並將其解壓縮到node.exe所在的同一個文件夾中。確保先清除以前的安裝(盡管覆蓋它可能會運行正常…但也可能有問題)。
  • 要更新模塊,請使用npm update command

 

8.補充方案二

$ npm install -g npm stable

這個對我有效,我成功從1.4.28更新到了2.1.5。

 

9.補充方案三

我剛剛在新的Windows 7機器上安裝了Node.js,結果如下:

> node -v
v0.12.0
> npm -v
2.5.1

然後我執行了下麵的程序:

> npm install -g npm

並成功升級到v2.7.3。但是執行npm -v還是顯示版本號2.5.1。

我依次打開了係統配置麵板=>高級設置=>環境變量,除了全局路徑變量之外,我看到了一個特定於我的用戶帳戶的PATH變量。這個特定PATH變量指向新的npm:C:\Users\PhiLho\AppData\Roaming\npm,而全局路徑變量包括到Node的路徑:C:\PrgCmdLine\nodejs\

修複很簡單,將特定路徑複製到全局路徑中: <some stuff before>;C:\Users\PhiLho\AppData\Roaming\npm;C:\PrgCmdLine\nodejs\。然後執行:

> npm -v
就能正常顯示最新的版本號了:2.7.3。

內容整理自:

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/3573.html,未經允許,請勿轉載。