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

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

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

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

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

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


当前回答

我找到了一个插件,它可以帮助更新所有npm包。

首先,您需要安装一个npm check updates插件。这里是链接npm check update

npm i -g npm-check-updates

因此,该实用程序是全局安装的,您只需编写如下代码即可调用它。

1) ncu-u这里ncu是npm检查更新。

2) npm安装

因此,使用这两个命令,您可以轻松更新npm包。我希望这将帮助您轻松更新包。

其他回答

对于Cygwin用户:

在Cygwin中安装n(节点版本管理器)不起作用,而是使用以下命令更新节点:

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\pathto\nodejs\node.exe'
# Updating npm
npm i -g npm

是的,您需要先安装wget。

只需使用这个

npm i -g npm

这是当发布新的更新/错误修复时,我在控制台上从npm得到的提示:

在Ubuntu上实现这一点的另一种方法:使用umake。

umake nodejs

安装了最新的当前版本v11.14.0。

加:

只需一个命令即可更新到最新版本

减:

需要安装umake

这里有一个简单的修复方法,适用于那些通过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中的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软件包和你安装新软件包的能力。