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

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

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

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

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

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


当前回答

对于Linux、OSX等。。

安装最新版本的NPM

npm安装-gnpm@latest

或安装最新版本

npm安装-gnpm@next

附加:检查npm版本

npm-v

如果您使用的是Windows机器,我建议您访问npm网站

其他回答

尝试最新的npm稳定版本

查看您正在运行的npm版本:

npm -v

在*nix(OSX、Linux等)上升级

(如果使用默认安装程序安装Node,则可能需要在这些命令前加上sudo,特别是在Linux或OS X上。)

您可以使用以下方法升级到npm的最新版本:

npm install -g npm@latest

或升级到最新版本:

npm install -g npm@next

在Windows上升级


默认情况下,npm安装在中的节点旁边

C: \Program Files(x86)\nodejs

npm的全局安装包(可能包括npm本身)单独存储在用户特定目录(当前

C: \Users\<username>\AppData\Roaming\npm)。

因为安装程序将

C: \Program Files(x86)\nodejs

之前

C: \Users\<用户名>\AppData\Roaming\npm

在PATH上,它将始终使用与node一起安装的npm版本,而不是使用npm-g install npm@<version>安装的npm版本。

要解决此问题,可以执行以下操作之一:

选项1:编辑Windows安装的PATH,将%appdata%\npm放在%ProgramFiles%\nodejs之前。请记住,在更改PATH或npm的安装方式时,需要重新启动cmd.exe(并可能重新启动Windows)。选项2:删除%程序文件%\nodejs\npm%程序文件%\nodejs\npm.cmd选项3:导航到%ProgramFiles%\nodejs\node_modules\npm并将npmrcf文件复制到另一个文件夹或桌面。然后打开cmd.exe并运行以下命令:

cd %ProgramFiles%\nodejsnpm install npm@latest

如果您使用node.js安装程序安装了npm,请在完成前面的一个步骤后,执行以下操作。

选项1或2进入%ProgramFiles%\nodejs\node_modules\npm,将名为npmrc的文件复制到新的npm文件夹中,该文件夹应为%appdata%\npm\node_mdules\npm。这将告诉新的npm全局安装包的位置。选项3将npmrc文件复制回%ProgramFiles%\nodejs\node_modules\npm

关于内置Windows配置的简要说明

Node安装程序直接在npm文件夹中安装一个特定于Windows的特殊配置,它告诉npm在哪里安装全局包。当使用npm安装自己时,它应该将这个特殊的内置配置复制到新安装中。在某些版本的npm中存在一个bug,使其无法正常工作,因此您可能需要手动修复。运行以下命令以查看npm将在何处安装全局包,以验证其是否正确。

npm config get prefix -g

如果未将其设置为<X>:\Users\<user>\AppData\Roaming\npm,则可以运行以下命令进行更正:

npm config set prefix "${APPDATA}/npm" -g

顺便说一句,如果您希望不将软件包安装到您的漫游配置文件中(因为您在共享网络上有配额,或者这会导致从域登录或注销变得缓慢),您可以将其放在本地应用程序数据中:

npm config set prefix "${LOCALAPPDATA}/npm" -g

…以及将%APPDATA%\npm复制到%LOCALAPPDATA%\npm(当然,还要更新%PATH%)。

从事npm工作的每个人都知道,这个过程是复杂和令人担忧的,我们正在努力使其更简单。敬请期待。

资料来源:https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-npm

警告:如果您需要从旧版本(在我的例子中是v4.6.0)更新Node,最好从头开始重新安装nodejs(下载链接:https://nodejs.org)否则,npm也会将自己更新到与新Node不兼容的版本(请参阅本讨论)。

这是我在使用npm更新Node(在Windows上)后收到的错误消息

$ npm install -g npm stable
[ . . .]
$ npm 
C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:85
      let notifier = require('update-notifier')({pkg})
      ^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supporte
d outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:974:3

新安装后,npm再次工作:

$ npm -v
6.5.0
$ node -v
v10.15.0

要更新npm:

npm install npm@{version} -g

要将npm更新到最新版本:

npm install npm@latest -g

并检查版本:

npm -v

要更新节点js:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

要检查:

node -v

Use:

npm update -g npm

请参阅更新命令的文档:

npm更新[-g][<pkg>…]此命令将更新列出的所有软件包至最新版本(由标记config指定),并遵守semver。

此外,请参阅有关Node.js和NPM安装和升级NPM的文档。

以下原始答案来自已不存在的旧FAQ,但适用于Linux和Mac:

如何更新npm?npm安装-g npm请注意,此命令将删除当前版本的npm。确保在Mac上使用sudo npm install-g npm。您还可以通过在没有任何参数的情况下执行npm更新来更新所有过时的本地包,或者通过执行npm update-g来更新全局包。有时,npm的版本会升级,导致当前版本无法与您已经安装的版本一起正确安装。(考虑一下,如果update命令中存在错误。)在这些情况下,您可以执行以下操作:卷曲https://www.npmjs.com/install.sh|sh

要更新Node.js本身,我建议您使用节点版本管理器nvm。

我认为管理node.js的最好方法是使用NVM。NVM代表节点版本管理器。

它是node.js开发人员必备的工具!

您可以使用以下命令安装NVM,打开终端并运行以下任意一项:-

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

or

wget -qO- https://raw.githubusercontent.com/nvm-sh//nvm/v0.39.0/install.sh | bash

安装后,建议关闭当前终端并打开新终端,因为NVM将添加一些环境变量,因此需要重新启动终端。

我将列出一些使用NVM的基本命令。

这将从internet获取所有节点版本。将显示从开始到结束的所有节点版本,同时还会提到LTS版本。

nvm ls-remote 

这将向您显示应该使用的npm和节点的推荐版本。(仅当您已经安装了npm版本时,如果不使用上述命令,此操作才有效)

npm doctor

这将安装所需的节点版本(版本列表是使用上述命令获得的)

nvm install <version recommended by 'npm doctor' or 'nvm ls-remote'>

例如nvm install v14.18.1

此命令将提供本地安装的节点版本列表

nvm ls

此命令用于从计算机中删除所需的节点版本

nvm uninstall v10.15.1

以下命令将帮助您升级到当前节点版本上的最新工作npm

nvm install-latest-npm

NVM可用于同时管理多个节点版本它还可以帮助您将所有全局npm包从一个版本安装到另一个版本,而不是手动安装每个版本!nvm还有许多其他用途,其中的详细信息和命令可以在节点版本管理器中找到