我刚刚安装了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
其他回答
只需在控制台上运行以下脚本:
sudo npm i -g n
sudo n stable
sudo npm update -g npm
这仅适用于Linux和MAC
使用npm中的n模块升级节点。n是安装或更新给定node.js版本的nodehelper包。
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs
注意,nodejs的默认安装在/usr/bin/nodejs中,而不是/usr/bin/node中
要升级到最新版本(而不是当前稳定的),可以使用
sudo n最新
要撤消:
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 -g n
如果您收到以下错误bash:/usr/bin/node:没有这样的文件或目录,那么您在
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs
如果错误。因此,请确保检查更新nodejs是否已安装在上述路径上,并且输入的版本是否正确。
我强烈建议不要在生产实例上这样做。它会严重扰乱你的全球npm软件包和你安装新软件包的能力。
我已经开发了一个非常简单和快速的包来完成这种更新,atualiza可以处理全局和项目包。稍后,您可以选择最新版本或与当前package.json规则匹配的更大版本。对于全局包,您没有规则,所以atualiza将始终升级到最新版本。
我最近偶然发现了这篇文章:http://martineau.tv/blog/2013/12/more-efficient-grunt-workflows/作者提到了$npm检查更新-u&&npm安装以更新所有依赖项。
这有点离题了,但我最终在这里进行了类似的搜索,因此认为这是值得分享的。
npm install -g npm@latest
如果已经安装了npm,则可以在终端中运行上述代码来更新节点包管理器。如果你没有npm,你可以使用
sudo apt-get install npm
然后可以通过上述方法更新它