目录
尝试使用 npm 的最新稳定版本
目录
查看正在运行的 npm 版本
npm -v
在 *nix
(OSX、Linux 等)上升级
(您可能需要在这些命令前加上 sudo
,尤其是在 Linux 上,或者如果您使用默认安装程序在 OS X 上安装了 Node。)
您可以使用以下命令将 npm 升级到最新版本
npm install -g npm@latest
在 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
-
选项 3:导航到
%ProgramFiles%\nodejs\node_modules\npm
,并将npmrc
文件复制到另一个文件夹或桌面。然后以管理员身份打开cmd.exe
并运行以下命令
cd %ProgramFiles%\nodejsnpm install npm@latest
如果您使用 node.js 安装程序安装了 npm,请在执行上述步骤之一后,执行以下操作。
-
选项 1 或 2
- 进入
%ProgramFiles%\nodejs\node_modules\npm
,并将名为npmrc
的文件复制到新的 npm 文件夹中,该文件夹应该是%appdata%\npm\node_modules\npm
。这将告诉新的 npm 全局安装的包在哪里。
- 进入
-
选项 3
- 将 npmrc 文件复制回
%ProgramFiles%\nodejs\node_modules\npm
- 将 npmrc 文件复制回
(如果您运行的是 Windows 7 并且没有 %appdata%\npm
目录,请参阅 下面的内容。)
关于内置 Windows 配置的简短说明
Node 安装程序直接安装到 npm 文件夹中,一个特殊的 Windows 特定配置,告诉 npm 在哪里安装全局包。当使用 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 开发的人都知道这个过程很复杂,而且充满挑战,我们正在努力使其变得更简单。敬请关注。