我刚刚安装了Node.js和NPM(节点包管理器)

我安装了NPM以访问其他Node.js模块。

在我安装Node.js和NPM之后,我注意到这两个版本都不可用。

我想知道:如何将Node.js、NPM和我的Node.js模块升级到最新版本?

我需要卸载Node.js和NPM并重新安装最新版本吗?

这是到目前为止我所做尝试的链接。此链接是npm的一部分。


当前回答

npm install -g npm@latest

如果已经安装了npm,则可以在终端中运行上述代码来更新节点包管理器。如果你没有npm,你可以使用

sudo apt-get install npm

然后可以通过上述方法更新它

其他回答

要更新节点,请使用nvm(或nvmw for windows)。为了更新npm,npm update npm-g命令不适用于我(在windows上)。所做的工作是根据文档重新安装npm:“您可以从https://npmjs.org/dist/,并将其解压缩到node.exe所在的同一文件夹中。“如果您这样做,请确保先删除以前的安装(尽管覆盖它可能会正常工作…)。要更新模块,请使用npm update命令

我刚刚在一台新的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后者包括到节点的路径:C:\PrgCmdLine\nodejs\(现在,我避免在程序文件和派生文件中安装东西。避免路径中的空格和嘈杂的无用保护是明智的…)如果我执行哪个npm.cmd(我安装了Unix实用程序…),它将指向Node中的一个。

无论如何,修复方法很简单:我只是在主全局路径变量中的节点路径之前复制了第一个路径(到npm),现在它获取了最新版本。<以前的一些东西>;C: \Users\PhiLho\AppData\Roaming\npm;C: \PrgCmdLine\nodejs\

> npm -v
2.7.3

享受。:-)

如果您正在使用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,以确保应用程序在新节点和npm版本上运行良好。

我已经开发了一个非常简单和快速的包来完成这种更新,atualiza可以处理全局和项目包。稍后,您可以选择最新版本或与当前package.json规则匹配的更大版本。对于全局包,您没有规则,所以atualiza将始终升级到最新版本。

这对我在Windows上仅更新npm(管理模式下的powershell)有效:

npm --version
# 5.6.0
cd "C:\Program Files\nodejs"
rm "npm" 
rm "npx"
mv "npx.cmd" npx.old.cmd
mv "npm.cmd" npm.old.cmd

# This is the important command
./npm.old.cmd install npm

rm *.old.cmd
npm --version
# 6.4.1

这个固定的npm WARN npm npm不支持Node.js v10.12.0,因为chocolate安装了不兼容的Node和npm?