我刚刚安装了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
其他回答
对于Cygwin用户:
在Cygwin中安装n(节点版本管理器)不起作用,而是使用以下命令更新节点:
wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\pathto\nodejs\node.exe'
# Updating npm
npm i -g npm
是的,您需要先安装wget。
这对我在Windows上仅更新npm(管理模式下的powershell)有效:
npm --version
# 5.6.0
cd "C:\Program Files\nodejs"
rm "npm"
rm "npx"
mv "npx.cmd" npx.old.cmd
mv "npm.cmd" npm.old.cmd
# This is the important command
./npm.old.cmd install npm
rm *.old.cmd
npm --version
# 6.4.1
这个固定的npm WARN npm npm不支持Node.js v10.12.0,因为chocolate安装了不兼容的Node和npm?
如果不想更新到最新版本。执行以下命令:
npm安装npm@4.2.0-克
将4.2.0替换为所需的任何版本。以下是截至2017年10月3日的所有发布版本:https://nodejs.org/en/download/releases/
警告:如果您需要从旧版本(在我的例子中是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
根据文件:
OSX和Linux
npm install -g npm@latest
Windows(在Powershell中):
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install --global --production npm-windows-upgrade
npm-windows-upgrade
节点JS
只需从此处下载安装程序:https://nodejs.org/en/
您可以使用NPM install-g节点使用NPM更新NodeJS,但不建议这样做。