我刚刚安装了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的一部分。
当前回答
尝试最新的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
其他回答
对于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版本。-->*
对于Linux、OSX等。。
安装最新版本的NPM
npm安装-gnpm@latest
或安装最新版本
npm安装-gnpm@next
附加:检查npm版本
npm-v
如果您使用的是Windows机器,我建议您访问npm网站
这里有一个简单的修复方法,适用于那些通过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
对于那些想在windows上升级npm的人,
打开Powershell(作为管理员)并依次执行以下命令:,
>Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
>npm install -g npm-windows-upgrade
>npm-windows-upgrade -p -v latest
如果您想了解更多信息,请使用nvm
非挥发性物质Nvm窗口
对于windows,请按照以下步骤进行安装