我刚刚安装了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的一部分。
当前回答
我知道这个问题是针对Linux机器的,但如果有人在寻找Windows解决方案,只需转到Node.js站点,单击主页上的下载按钮并执行安装程序。
谢天谢地,它处理了一切,只需单击“下一步”按钮,我就可以在我的Windows7机器上运行最新的0.8.15 Node.js版本。
其他回答
我们可以通过以下方式更新npm的特定版本
npm install -g npm@8.12.1
我的建议是使用nvm(节点版本管理器),它将允许您同时安装多个版本的node和npm,并将有助于将node更新到LTS版本,但也可以在Linux nvm overlay all npm命令上使用,以避免为需要超级用户权限的包键入sudo。这是查看更多有关nvm工作原理的链接。
正如您可能已经知道的,npm当前与node.js捆绑在一起。这意味着如果您已经安装了node.js,那么您也已经安装了npm。
此外,请注意node.js和npm发布版本表,该表显示了大致的版本兼容性。有时,版本差异可能会导致不兼容错误。
因此,如果您是一名开发人员,使用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版本。它是在纯Linuxshell上编写的,可以作为npm模块使用。因此,如果您已经安装了任何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版本,请使用向上/向下箭头键并使用Enter键激活。
要列出可安装的版本:
$ n lsr
nvm(macOS、Linux)
nvm也类似于rvm,甚至命令名和用法都非常相似。
要安装nvm,可以使用cURL使用安装脚本(需要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)
nvm-windows是一个用于windows的node.js版本管理实用程序,讽刺的是它是在Go中编写的。
这和nvm不是一回事。然而,node.js版本管理器的用法非常相似。
要安装nvm窗口,需要事先卸载node.js和npm的任何现有版本。然后,下载并运行最新版本的安装程序。
要升级nvm窗口,请运行新的安装程序。它将安全地覆盖需要更新的文件,而无需接触node.js安装。
nvm窗口在Admin shell中运行。要使用nvm窗口,您需要以管理员身份启动Powershell或命令提示符。
在使用之前,您可能还需要使用以下命令启用nvm窗口:
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
我刚刚在一台新的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
享受。:-)
尝试最新的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