如何更新Node.js和npm到下一个版本?
我刚刚安装了Node.js和npm(用于其他模块)。
如何更新Node.js和我正在使用的模块到最后的版本?
npm可以吗? 或者我必须删除并重新安装Node.js和NPM来获得下一个版本?
我遵循https://github.com/joyent/node/wiki/Installation (步骤3a)和下一个npm部分。
查看update
命令的文档:
npm update [<name> [<name> ...]]
这个命令会把列出的所有软件包更新到最新版本(由标签config指定)。 它也将安装缺less的软件包。
另外,请参阅FAQ :
我如何更新npm?
npm install -g npm
请注意,这个命令将删除当前版本的npm。 确保在Mac上使用
sudo npm install -g npm
。您还可以通过执行
npm update
来更新所有过时的本地程序包,而不使用任何参数,或通过执行npm update -g
来npm update -g
全局程序包。有时候,npm的版本会进步,使得当前版本无法与已经安装的版本正确安装。 (考虑一下,如果update命令中有bug的话)。在这种情况下,你可以这样做:
curl https://www.npmjs.com/install.sh | sh
要更新Node.js本身,我build议您使用nvm,Node Version Manager 。
我发现在David Walsh的博客上更新节点的方法非常简单,你可以通过安装n
:
sudo npm cache clean -f sudo npm install -gn sudo n stable
它将安装当前稳定版本的node
。 不过,我build议使用nvm
。
我明白这个问题是针对Linux机器的,但是如果有人正在寻找一个Windows解决scheme,只需到Node.js站点 ,点击主页上的下载button并执行安装程序即可。
值得庆幸的是,它只需点击几下'Next'button,我就可以在Windows 7机器上运行最新的0.8.15 Node.js版本。
更新npm很简单:
npm install npm@latest -g
如您所知,NPM目前与Node.js捆绑在一起,这意味着如果您已经安装了node
您已经安装了npm
。 有几种方法可以跟踪Node.js和NPM,您需要使用以下版本pipe理器之一:
家酿
如果你在Mac上,你可以使用自制软件 。 使用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最有可能是rvm
(Ruby版本pipe理器),可以用来pipe理和更新node/npm
版本。
轻松安装Node.js版本:
$ n 0.10.26 $ n 0.8.17 $ n 0.9.6
使用(并安装,如果缺less)最新的正式版本:
$ n latest
使用/安装稳定的正式版本:
$ n stable
切换到您使用的以前的版本:
$ n prev
如果你想查看已安装节点的列表,只需从命令行运行n
,输出将如下所示:
$ n 0.10.26 • 0.8.17 0.9.6
点(?)表示它是当前活动的版本。 要从列表中select一个节点版本,请使用up
和down
箭头并使用enter
激活。
n
软件包是在纯粹的linux shell
上编写的,可以作为npm模块(包含package.json
)使用,所以如果你安装了任何Node.js,你可以通过npm
来安装/更新n
:
$ npm install -gn
NVM
nvm也像RVM
一样,连命令名和用法都很相似。
要使用nvm
下载,编译和安装Node.js的最新版本nvm
:
$ nvm install 0.10
然后你可以切换到安装的版本:
$ nvm use 0.10
您可以在项目根文件夹中创build包含版本号的.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
PS
我在MacOSX和Linux上使用的所有这些方法,我没有关于如何pipe理Windows上的Node.js版本的任何经验,我只能假设n
(第二个)将适用于微软的操作系统(至less从cygwin
)。
升级为Windows用户
Windows用户应阅读npm维基上的“故障排除”>“在Windows上升级” 。
使用PowerShell升级Windows 10(第三方编辑)
上面的故障排除# windows-upgrade -on- point指向一个github页面npm-windows-upgrade下面的行是自述文件中的引号。 我成功地从npm 2.7.4升级到npm 3.9.3使用节点v5.7.0和powershell(大概是PowerShell版本5.0.10586.122)
首先,通过从提升的PowerShell运行以下命令,确保可以在系统上执行脚本。 要以pipe理员身份运行PowerShell,请单击开始,searchPowerShell,右键单击PowerShell,然后select以pipe理员身份运行。
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
然后,安装和使用这个升级工具,运行(也从一个提升的PowerShell或cmd.exe):
npm install --global --production npm-windows-upgrade npm-windows-upgrade
首先检查你的NPM版本
npm -v
1)将NPM更新为当前版本:
查看curent NPM版本:
npm view npm version
更新npm到当前版本:
npm i -g npm
2)列出所有可用的NPM版本并进行自定义安装/更新/回滚
查看所有版本,包括“alpha”,“beta”和“rc”(候选版本)
npm view npm versions --json
将NPM重新安装到从版本列表中select的特定版本 – 例如5.0.3
npm i -g npm@5.0.3
-
安装一个版本将自动删除当前安装的版本。
-
对于Linux和iOS预安装sudo命令
-
要更新节点,请使用nvm (或windows的nvmw )。
-
要更新npm ,
npm update npm -g
命令不适用于我(在Windows上)。 根据文档 ,重新安装npm的工作是什么:“ 你可以从https://npmjs.org/dist/下载一个zip文件,并将它解压到node.exe所在的文件夹中。; ”确保你这样做你先摆脱了以前的安装(虽然覆盖它可能会工作正常…)。 -
要更新您的模块 ,请使用npm update命令
简单的使用这个
npm i -g npm
这就是当新的更新/错误修正发布时,我从npm在我的控制台上提示:
$ npm install -g npm stable
为我工作从1.4.28更新到2.1.5
我刚刚在新的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。
我去了系统configuration面板,高级设置,环境variables。 除了全局pathvariables之外,我还看到了特定于我的用户帐户的PATHvariables。
前者指向新的npm: C:\Users\PhiLho\AppData\Roaming\npm
后者包括节点的path: C:\PrgCmdLine\nodejs\
(现在,我避免在程序文件中安装东西并衍生出来,避免path中的空格,以及嘈杂的无用保护是更加安全的…)
如果我做which npm.cmd
(我安装了Unix工具…),它指向Node中的那个。
无论如何,解决方法很简单:我只是复制第一个path(到npm),在主全局pathvariables的节点path之前,现在它将获取最新版本。
<some stuff before>;C:\Users\PhiLho\AppData\Roaming\npm;C:\PrgCmdLine\nodejs\
> npm -v 2.7.3
请享用。 🙂
刚刚听取了关于nodeup的最新一集npm团队的采访,他们build议不要使用更新从1.x
到2.x
的更新。 相反,使用: npm install npm -g
对于Linux,OSX等。
安装最新版本的NPM
npm install -g npm@latest
或者安装最新版本
npm install -g npm@next
附加:检查你的npm版本
npm -v
如果你在Windows机器上,我build议去npm网站
安装npm => sudo apt-get install npm
安装n => sudo npm install n -g
最新版本的节点 => sudo n latest
您可以使用特定版本的节点
列出可用的节点版本 => n ls
安装特定版本 => sudo n 4.5.0
我最近偶然发现了这篇文章: http : //martineau.tv/blog/2013/12/more-efficient-grunt-workflows/和作者提到$ npm-check-updates -u && npm install
来更新所有的依赖关系。
这是一个小题目,但我在这里结束了类似的search,所以认为这是值得的份额。
只是这个代码
npm install update
要更新npm:
npm install npm@{version} -g
更新npm到最新版本:
npm install npm@latest -g
并检查版本:
npm -v
更新节点js:
sudo npm cache clean -f sudo npm install -gn sudo n stable
去检查 :
node -v
对于Cygwin用户:
在Cygwin
中安装n (节点版本pipe理器)不起作用,取而代之的是更新节点:
wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\pathto\nodejs\node.exe' # Updating npm npm i -g npm
是的,你需要先安装wget
。
另外如果你想更新到一个特定的版本,请按照下列步骤操作:
sudo npm cache clean -f sudo npm install -gn sudo n <specific version>
使用npm中的n模块来升级节点。 n是安装或更新给定node.js版本的节点助手程序包。
sudo npm cache clean -f sudo npm install -gn sudo n stable sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs
请注意,nodejs的默认安装位于/ usr / bin / nodejs而不是/ usr / bin /节点
要升级到最新版本(而不是当前稳定版本),可以使用
sudo n latest
撤销:
sudo apt-get install --reinstall nodejs-legacy # fix /usr/bin/node sudo n rm 6.0.0 # replace number with version of Node that was installed sudo npm uninstall -gn
如果你得到下面的错误bash: /usr/bin/node: No such file or directory
那么你input的path
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs
如果错了。 因此请确保检查更新nodejs是否已安装在上述path中,并且input的版本是正确的。
我会强烈build议不要在生产实例上这样做。 它可以认真地弄脏你的全球NPM包和你的能力,安装新的。
你应该看到这个博客nodejs与包pipe理器安装
在执行此命令之前。 你显示运行sudo apt-get update ,确保结果是正在读取软件包列表…完成 , 没有错误
一步一步(Debian):sudo apt-get update install 6_x curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash – sudo apt-get install -y nodejs
安装7_x curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash – sudo apt-get install -y nodejs
我开发了一个非常简单而快速的软件包来做这种更新, atualiza可以处理全球和项目的软件包。 在以后的版本中,你可以select最新的版本或者更大的版本来匹配你当前的package.json
的规则。 对于全球包,你没有规则,所以atualiza
会永远升级到最新。
对于Windows用户和更新节点,我仍然会推荐nodist> https://github.com/marcelklehr/nodist
我个人使用nvm
(节点版本pipe理器)这是一个简单的bash脚本来pipe理多个活动node.js版本,并且可以同时为不同的用户configuration多个版本的节点和全局模块。
你可以查看这个链接: nvm
还有一个windows版本的nvm-windows
如果您使用Windows, 请转到https://nodejs.org/en/download/ ,下载最新的.exe
或.msi
文件并安装以覆盖旧版本
如果您使用的是Ubuntu或Linux:先卸载node.js
然后重新安装,例如使用Ubuntu():
sudo apt-get remove nodejs # assume node.js 8 is latest version curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install nodejs node -v npm -v
删除项目文件夹中的node_modules
和npm install
,以确保您的应用程序在新node
和npm
版本上运行良好。
在控制台上运行下面的脚本:
sudo npm i -gn sudo n stable sudo npm update -g npm
这只适用于Linux和MAC
如果你不想更新到最新版本。 做这个命令:
npm install npm@4.2.0 -g
用你想要的任何版本replace4.2.0。 以下是2017年10月3日前发布的所有版本: https : //nodejs.org/en/download/releases/