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

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

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

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

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

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


当前回答

$ npm install -g npm stable

为我工作,从1.4.28更新到2.1.5

其他回答

检查您的软件包版本:npm-v[软件包名称]

更新它:npm Update[-g][package name]

使用-g或--global将其安装为全局包。

我刚刚在一台新的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

享受。:-)

对于窗口安装Node.js v16.15.1后npm-v仍然是6.6.0删除C:\Users\neals\AppData\Roaming下的npm和npm缓存npm-v为8.11.0

对于Linux,我建议使用包管理器更新节点:

Node预装了npm,但管理器的更新频率比Node高。运行npm-v查看您的版本,然后运行npm installnpm@latest-g安装最新的npm更新。如果要确保npm正确更新,请再次运行npm-v。

要更新NodeJS,您需要npm方便的n模块。运行以下代码以清除npm的缓存,安装n,并安装Node的最新稳定版本:

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

要安装最新版本,请使用n最新版本。或者,可以运行n#.#.#以获取特定节点版本。


当谈到Windows/macOS时,我建议在Nodejs.org上使用Installers

Node.js下载页面包含Windows和macOS的二进制软件包,但为什么要让你的生活更困难呢?预装的安装程序-适用于Windows的.msi和适用于macOS的.pkg-使安装过程难以置信地高效和易于理解。下载并运行该文件,并让安装向导负责其余部分。每次下载更新后,Node和npm的较新版本都将替换旧版本。

或者,macOS用户可以使用上面的npm和n指令。


在更新node_modules dependencies文件夹时,我建议跳过所有可能会让您头疼的事情,只需转到特定的项目并重新运行npm安装。

在任何人这样做之前,我建议首先检查package.json文件中的以下内容:

作为NodeJS包的用户,您可以在package.json文件中指定应用程序可以接受哪些类型的更新。例如,如果您从软件包版本1.0.4开始,这是您可以通过三种基本方式指定允许的更新版本范围的方式:

允许修补程序版本:1.0或1.0.x或~1.0.4允许次要版本:1或1.x或^1.0.4允许主要版本:*或x

说明:

存在不兼容API更改时的MAJOR版本。-->~

以向后兼容方式添加功能时的MINOR版本。-->^

完成向后兼容错误修复时的PATCH版本。-->*

只需在控制台上运行以下脚本:

sudo npm i -g n
sudo n stable
sudo npm update -g npm

这仅适用于Linux和MAC