我刚刚安装了Node.js和NPM(节点包管理器)
我安装了NPM以访问其他Node.js模块。
在我安装Node.js和NPM之后,我注意到这两个版本都不可用。
我想知道:如何将Node.js、NPM和我的Node.js模块升级到最新版本?
我需要卸载Node.js和NPM并重新安装最新版本吗?
这是到目前为止我所做尝试的链接。此链接是npm的一部分。
我刚刚安装了Node.js和NPM(节点包管理器)
我安装了NPM以访问其他Node.js模块。
在我安装Node.js和NPM之后,我注意到这两个版本都不可用。
我想知道:如何将Node.js、NPM和我的Node.js模块升级到最新版本?
我需要卸载Node.js和NPM并重新安装最新版本吗?
这是到目前为止我所做尝试的链接。此链接是npm的一部分。
当前回答
如果您正在使用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版本上运行良好。
其他回答
这里有一个简单的修复方法,适用于那些通过Homebrew安装节点而不使用npm的用户,以及后来使用官方脚本进行npm升级/安装的用户。此方法假定您已按如下方式运行节点安装:
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh
如果以上失败,请从这里开始。删除npm(如果有):
rm -rf ~/.npm-packages/lib/node_modules/npm
下载并解压缩最新版本的npm,当前版本为5.6.0:
cd ~
curl -L https://registry.npmjs.org/npm/-/npm-5.6.0.tgz | tar xz
将解压缩的包移动到node_modules文件夹:
mv ~/package ~/.npm-packages/lib/node_modules/npm
确保~/.bash_profile包含以下条目:
export NPM_PACKAGES="$HOME/.npm-packages"
export NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
export PATH="$NPM_PACKAGES/bin:$PATH"
源文件:
source ~/.bash_profile
验证安装:
npm -v
npm install -g npm@latest
如果已经安装了npm,则可以在终端中运行上述代码来更新节点包管理器。如果你没有npm,你可以使用
sudo apt-get install npm
然后可以通过上述方法更新它
此外,如果要更新到特定版本,请执行以下操作:
sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>
我已经开发了一个非常简单和快速的包来完成这种更新,atualiza可以处理全局和项目包。稍后,您可以选择最新版本或与当前package.json规则匹配的更大版本。对于全局包,您没有规则,所以atualiza将始终升级到最新版本。
我刚刚在一台新的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
享受。:-)