当前位置: 首页>>技术问答>>正文


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

Andy 技术问答 , , 去评论

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/article/3573.html,未经允许,请勿转载。