我刚刚安装了 Node.js 和 NPM(节点包管理器)
我安装了 NPM 以访问其他 Node.js 模块。
安装 Node.js 和 NPM 后,我注意到两者都没有最新版本。
我想知道:如何将 Node.js、NPM 和我的 Node.js 模块升级到最新版本?
我需要卸载 Node.js 和 NPM 并重新安装最新版本吗?
Here is the link to what I have tried so far。此链接是来自 npm
的部分。
nvm
可以让您选择拥有多个运行版本的 node+npm
利用:
npm update -g npm
请参阅 update
命令的文档:
npm update [-g] [
此外,请参阅有关 Node.js and NPM installation 和 Upgrading NPM 的文档。
以下原始答案来自不再存在的旧常见问题解答,但应该适用于 Linux 和 Mac:
如何更新 npm? npm install -g npm 请注意,此命令将删除您当前版本的 npm。如果在 Mac 上,请确保使用 sudo npm install -g npm。您还可以通过执行不带任何参数的 npm update 来更新所有过时的本地包,或者通过执行 npm update -g 来更新全局包。有时,npm 的版本会进步,以至于当前版本无法与您已经安装的版本一起正确安装。 (考虑一下,如果更新命令中存在错误。)在这些情况下,您可以这样做: curl https://www.npmjs.com/install.sh |嘘
要更新 Node.js 本身,我建议您使用 nvm, the Node Version Manager。
我发现这种在 David Walsh's blog 上更新节点的非常巧妙的方法,您可以通过安装 n
来做到这一点:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
它将安装 node
的当前稳定版本。
编辑:请不要再使用 n 了。我建议使用 nvm
。您可以按照以下命令简单地安装 stable:
nvm ls-remote
nvm install <version>
nvm use <version>
n
不稳定,但那个博客是六年前的,n
仍在维护中。重复其他评论者,n
不在 Windows 上运行。 nvm
也没有。
更新 npm 很简单:
npm install npm@latest -g
npm install npm@latest -g
未能从 npm 2.7.4 升级到 npm 3.9.3。
sudo npm install npm@latest -g
仅此而已。赞成
我知道这个问题是针对 Linux 机器的,但以防万一有人在寻找 Windows 解决方案,只需转到 the Node.js site,单击主页上的 下载 按钮并执行安装程序。
谢天谢地,它处理了所有事情,只需单击几下“下一步”按钮,我就在我的 Windows 7 机器上运行了最新的 0.8.15 Node.js 版本。
n
方法不起作用。希望有更好的方法来做到这一点。
您可能已经知道,npm 当前与 node.js 捆绑在一起。这意味着如果您安装了 node.js,那么您也已经安装了 npm。
此外,请注意向我们显示大致版本兼容性的 node.js and npm release versions table。有时,版本差异可能会导致不兼容错误。
因此,如果您是开发人员,使用其中一个 node.js 版本管理器来管理您的开发环境是一种“最佳实践”。
以下是一些最受欢迎的列表和使用说明:
自制 (macOS)
如果您使用的是 macOS,则可以使用 Homebrew。
实际上,它不仅仅是一个 node.js 版本管理器。
要将 Homebrew 安装到您的 Mac:
$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
要使用 Homebrew 安装 node.js 和 npm,请运行:
$ brew install node
稍后,您将能够使用以下方法更新它们:
$ brew update && brew upgrade node
此外,您还可以在 node.js 版本之间切换:
$ brew switch node 0.10.26
npm 将自动升级/降级。
n (macOS, Linux)
n 最有可能是 rvm(Ruby 版本管理器),用于同时管理 node.js 和 npm 版本。它是在纯 Linux shell 上编写的,可作为 npm module 使用。因此,如果您已经安装了任何 node.js 版本,您可以通过 npm
安装/更新 n 包:
$ npm install -g n
下载、安装和切换到 node.js 和 npm 版本非常简单:
$ n 0.10.26
$ n 0.8.17
$ n 0.9.6
要下载、安装并切换到最新的官方版本,请使用:
$ n latest
要下载、安装并切换到最新的稳定官方版本,请使用:
$ n stable
要切换到以前的活动版本(又名 $ cd -
),请使用:
$ n prev
如果您想查看已安装 node.js 版本的列表,只需从命令行运行 n
。输出将类似于以下内容:
$ n
0.10.26
• 0.8.17
0.9.6
点 (•) 表示它是当前活动的版本。要从列表中选择另一个 node.js 版本,请使用 Up
/Down
箭头键并使用 Enter
键激活。
要列出可安装的版本:
$ n lsr
nvm (macOS, Linux)
nvm 也与 rvm 类似,甚至命令名称和用法都非常相似。
要安装 nvm,您可以通过 cURL
使用 installation script(需要 git
):
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
或 wget
:
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
要下载并安装特定的 node.js 和 npm 版本,请使用:
$ nvm install 0.10
然后,您可以使用以下命令切换到已安装的版本:
$ nvm use 0.10
此外,您可以创建包含版本号的 .nvmrc
文件,然后使用以下命令切换到指定版本:
$ nvm use
要查看已安装的 node.js 版本列表,请使用:
$ nvm ls
要列出可安装的版本:
$ nvm ls-remote
nvm-windows (Windows)
nvm-windows 是一个用于 Windows 的 node.js 版本管理实用程序,讽刺的是用 Go 编写的。
它与 nvm 不同。但是,作为 node.js 版本管理器的用法非常相似。
要安装 nvm-windows,需要事先卸载任何现有版本的 node.js 和 npm。然后,下载并运行 latest installer from releases。
要升级 nvm-windows,请运行新的安装程序。它将安全地覆盖它需要更新的文件,而无需触及您的 node.js 安装。
nvm-windows 在管理 shell 中运行。您需要以管理员身份启动 Powershell 或命令提示符才能使用 nvm-windows。
在使用之前,您可能还需要使用以下命令启用 nvm-windows:
C:\> nvm on
要下载并安装特定的 node.js 和 npm 版本,请使用:
C:\> nvm install 0.12
然后,您可以使用以下命令切换到已安装的版本:
C:\> nvm use 0.12
如果要查看已安装的 node.js 版本列表,请使用:
C:\> nvm list
要列出可安装的版本:
C:\> nvm list available
npm
非常缓慢......
首先检查你的 NPM 版本
npm -v
1) 将 NPM 更新到当前版本:
查看当前 NPM 版本:
npm view npm version
将 npm 更新到当前版本:
npm i -g npm
2) 列出所有可用的 NPM 版本并进行自定义安装/更新/回滚
查看所有版本,包括“alpha”、“beta”和“rc”(候选发布)
npm view npm versions --json
将 NPM 重新安装到从版本列表中选择的特定版本 - 例如到 5.0.3
npm i -g npm@5.0.3
安装一个版本将自动删除当前安装的版本。
对于 Linux 和 iOS,使用 sudo 前置命令
Error: EACCES: permission denied, unlink
在 sudo
上运行的命令有效
npm view npm versions --json
命令时,我得到了大量从“1.4.26”-“7.0.0-beta.12”开始的版本列表,所以我正在运行 npm i -g npm@6.14.8
——它似乎需要而(当前 fetch -> lock
正在运行但看起来挂起)手指交叉
为 Windows 用户升级
Windows 用户应阅读 npm wiki 中的 Troubleshooting > Upgrading on Windows。
使用 PowerShell 在 Windows 10 上升级(第 3 方编辑)
Troubleshooting#upgrading-on-windows 上方的链接指向 github 页面 npm-windows-upgrade 下面的行是自述文件中的引用。我使用 node 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
,
npm install -g npm@next
然后将 node
更新到下一个版本,
npm install -g node@next
或 npm install -g n@next
,或者,最新,
npm install -g node@latest
或 npm install -g node
版本安装后检查,
node --version
或node -v
简单地使用这个
npm i -g npm
这是我在发布新的更新/错误修复时从 npm 在我的控制台上得到的提示:
https://i.stack.imgur.com/CdKR2.png
path
到 npm
发生了变化,并且由于某种原因它继续执行旧版本,当您执行 npm -v
时当然会显示旧版本
要更新节点,请使用 nvm(或用于 Windows 的 nvmw)。
要更新 npm, npm update npm -g 命令对我不起作用(在 Windows 上)。起作用的是根据文档重新安装 npm:“您可以从 https://npmjs.org/dist/ 下载一个 zip 文件,并将其解压缩到 node.exe 所在的同一文件夹中。”确保如果您这样做,您首先摆脱了以前的安装(尽管覆盖它可能会正常工作......)。
要更新您的模块,请使用 npm update 命令
npm update npm -g
为我工作。我运行 OSx,并通过自制软件安装了节点,但是,如果您已经像我一样运行了最新的节点版本,则 brew upgrade node
将不会运行。小菜一碟。
npm install -g npm@latest
在 Windows8 上为我工作stackoverflow.com/a/29023180/588759
6.10.x
,npm
仍然有旧版本 3.8.0
。对于 Angular,我需要将 npm
升级到至少 6.11.x
。现在我似乎无法摆脱旧版本。
我认为管理 node.js 的最佳方式是使用 NVM。 NVM 代表 Node Version Manager。
它是 node.js 开发者必备的工具!
您可以使用以下命令安装 NVM,打开终端并运行以下任一命令:-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
或者
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 还有许多其他用途,其详细信息和命令可以在这里找到 Node Version Manager
尝试最新的稳定版 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 安装在 node 旁边
C:\Program Files (x86)\nodejs
npm 的全局安装包(可能包括 npm 本身)单独存储在用户特定的目录中(当前是
C:\Users\<username>\AppData\Roaming\npm
)。
因为安装程序放
C:\Program Files (x86)\nodejs
前
C:\Users\<username>\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:同时删除 %ProgramFiles%\nodejs\npm %ProgramFiles%\nodejs\npm.cmd
%ProgramFiles%\nodejs\npm
%ProgramFiles%\nodejs\npm.cmd
选项 3:导航到 %ProgramFiles%\nodejs\node_modules\npm 并将 npmrcfile 复制到另一个文件夹或桌面。然后打开 cmd.exe 并运行以下命令:
如果您使用 node.js 安装程序安装了 npm,则在执行上述步骤之一后,请执行以下操作。
选项 1 或 2 进入 %ProgramFiles%\nodejs\node_modules\npm 并将名为 npmrc 的文件复制到新的 npm 文件夹中,该文件夹应为 %appdata%\npm\node_modules\npm。这将告诉新的 npm 全局安装的包在哪里。
进入 %ProgramFiles%\nodejs\node_modules\npm 并将名为 npmrc 的文件复制到新的 npm 文件夹中,该文件夹应为 %appdata%\npm\node_modules\npm。这将告诉新的 npm 全局安装的包在哪里。
选项 3 将 npmrc 文件复制回 %ProgramFiles%\nodejs\node_modules\npm
将 npmrc 文件复制回 %ProgramFiles%\nodejs\node_modules\npm
关于内置 Windows 配置的简要说明
Node 安装程序直接在 npm 文件夹中安装一个特殊的 Windows 特定配置,它告诉 npm 在哪里安装全局包。当 npm 用于安装自身时,它应该将此特殊的 builtin
配置复制到新安装中。在某些版本的 npm 中存在一个错误,导致它无法正常工作,因此您可能需要手动修复它。运行以下命令查看 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
npm -v
时,我得到了 3.8.0
作为版本,而它以前是 6.10.x
。令人沮丧...
$ npm install -g npm stable
帮助我从 1.4.28 更新到 2.1.5
安装 npm => sudo apt-get install npm
安装 n => sudo npm install n -g
最新版本的节点 => sudo n latest
您可以使用特定版本的节点
列出可用的节点版本 => n ls
安装特定版本 => sudo n 4.5.0
使用 npm 安装最新版本的 npm:
sudo npm install npm@latest
我在 Linux 上运行它,所以我不确定其他操作系统。
在 Linux 上,您还可以运行:
sudo apt-get update
sudo apt-get upgrade
这将告诉 apt-get
包管理器更新和升级所有包。
sudo
命令。 sudo npm i npm@latest
sudo
,可以以 root 身份登录
npm install npm -g
,对吧?
我刚刚在一台新的 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\
(现在,我避免在程序文件和派生中安装东西。避免路径中的空格和嘈杂的无用保护更明智...)
如果我这样做 which npm.cmd
(我安装了 Unix 实用程序...),它指向一个在节点。
无论如何,修复很简单:我只是在主全局 Path 变量中节点路径之前复制了第一个路径(到 npm),现在它选择了最新版本。
<some stuff before>;C:\Users\PhiLho\AppData\Roaming\npm;C:\PrgCmdLine\nodejs\
> npm -v
2.7.3
享受。 :-)
npm
版本在版本 6.x.x
时会倒退到 3.8.x
。
对于 Linux、OSX 等。
安装最新版本的 NPM
npm install -g npm@latest
或安装最新版本
npm install -g npm@next
附加:检查您的 npm 版本
npm -v
如果您使用的是 Windows 机器,我建议您访问 npm 网站
我最近偶然发现了这篇文章:http://martineau.tv/blog/2013/12/more-efficient-grunt-workflows/,作者提到 $ npm-check-updates -u && npm install
来更新所有依赖项。
这有点偏离主题,但我最终在这里进行了类似的搜索,因此认为值得分享。
npm-check-updates
是另一个需要安装的软件包。
只需以 root/管理员身份在终端中运行以下命令:
npm i -g n
n stable
npm update -g npm
它在 Linux 上对我有用
有时从 http://nodejs.org/ 下载最新版本更简单
特别是当所有其他选项都失败时。
http://nodejs.org/ ->点击安装->您将拥有最新的节点和 npm
简单的!
要更新 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
只需使用此代码
npm install update
对于Linux
,我建议使用包管理器更新节点:
Node 预装了 npm,但是管理器的更新比 Node 更频繁。运行 npm -v 查看您拥有的版本,然后 npm install npm@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 latest
。或者,您可以运行 n #.#.# 以获取特定的 Node
版本。
对于 Windows/ macOS
,我建议使用 Nodejs.org 上的安装程序
Node.js 下载页面包括适用于 Windows 和 macOS 的二进制包——但为什么要让你的生活变得更加困难呢?预制的安装程序——Windows 的 .msi 和 macOS 的 .pkg——使安装过程变得非常高效和易于理解。下载并运行该文件,然后让安装向导完成其余工作。随着每次下载更新,Node 和 npm 的较新版本将替换旧版本。
或者,macOS 用户可以使用上面的 npm 和 n 指令。
在更新您的 node_modules
依赖项文件夹时,我建议跳过所有可能让您头疼的事情,只需转到您的特定项目并再次重新运行 npm install
。
在任何人这样做之前,我建议首先检查您的 package.json
文件中的以下内容:
作为 NodeJS 包的用户,您可以在 package.json 文件中指定您的应用程序可以接受哪些类型的更新。例如,如果您从包版本 1.0.4 开始,您可以通过以下三种基本方式指定允许的更新版本范围:
允许补丁版本:1.0 或 1.0.x 或 ~1.0.4 允许次要版本:1 或 1.x 或 ^1.0.4 允许主要版本:* 或 x
解释:
MAJOR 版本,用于不兼容的 API 更改。 --> ~
MINOR 版本,用于以向后兼容的方式添加功能。 --> ^
PATCH 版本,用于完成向后兼容的错误修复。 --> *
你可以试试这个
npm install -g npm@latest
对于 nodejs 应该卸载它并从 nodejs.org 下载你最喜欢的版本,以便 npm 在 cmd 中运行以下行:
npm i npm
警告:如果您需要从旧版本更新 Node(在我的情况下为 v4.6.0
),最好从头开始重新安装 nodejs(下载链接:https://nodejs.org),否则 npm 也会将自身更新到与不兼容的版本新节点(参见 this discussion)。
这是我在使用 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 install -g npm@latest
如果您已经安装了 npm,则可以在终端中运行上述代码来更新您的节点包管理器。如果你没有 npm 你可以使用
sudo apt-get install npm
然后你可以通过上面的方法更新它
此外,如果您想更新到特定版本,请按照以下步骤操作:
sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>
npm WARN using --force I sure hope you know what you are doing.
使用 NVM 管理节点版本,它会自动处理 npm。
npm update npm -g
在 Windows 上对我不起作用 - 它在没有输出的情况下完成,但 npm 保持相同的版本(最新版本为 1.3.14 时为 1.3.11)curl -L https://npmjs.org/install.sh | sudo sh
npm update npm -g
做了,现在我没有 npm 作为命令。