我刚刚安装了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的一部分。
当前回答
这里有一个简单的修复方法,适用于那些通过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
根据文件:
OSX和Linux
npm install -g npm@latest
Windows(在Powershell中):
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install --global --production npm-windows-upgrade
npm-windows-upgrade
节点JS
只需从此处下载安装程序:https://nodejs.org/en/
您可以使用NPM install-g节点使用NPM更新NodeJS,但不建议这样做。
检查您的软件包版本:npm-v[软件包名称]
更新它:npm Update[-g][package name]
使用-g或--global将其安装为全局包。
对于nodejs,应该卸载它并从nodejs.org下载您喜欢的版本对于npm,运行命令中的以下行:
npm i npm
为Windows用户升级
Windows用户应阅读npm wiki中的疑难解答>Windows升级。
使用PowerShell在windows 10上升级(第三方编辑)
上面的windows疑难解答#升级链接指向github页面npm windows升级。下面的行是自述文件中的引号。我使用节点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
npm install -g npm@latest
如果已经安装了npm,则可以在终端中运行上述代码来更新节点包管理器。如果你没有npm,你可以使用
sudo apt-get install npm
然后可以通过上述方法更新它