使用 Nodist 更新 NPM

Updating NPM with Nodist

我无法更新 npm,无法使用 Nodist

每当我尝试使用命令

更新 npm
npm install -g npm

执行后立即出现以下消息:

(node:5304) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.

C:\Program Files (x86)\Nodist\v\nodev6.5.0\npm -> C:\Program Files (x86)\Nodist\v\nodev6.5.0\node_modules\npm\bin\npm-cli.js

npm@3.10.6 C:\Program Files (x86)\Nodist\v\nodev6.5.0\node_modules\npm

紧接着做一个 npm -v,给我以前的版本:

...> npm -v
2.14.10

但是,如果您注意到上面消息的最后一行,有 npm@3.10.6 这意味着它正在尝试安装 that 版本的 npm.

我也遵循了 this post for Ubuntu users and this 对 Windows 用户的说明,但他们似乎解决了独立 NodeJS 安装和 NOT NodeJS + Nodist 组合。

与此同时,我想知道 Nodist 本身是否使我们能够更新 npm,或者换句话说,它是否也具有 npm 的任何版本管理功能,就像它对 node.

提前感谢您的帮助。


附加信息

我在 Windows 7.

上使用 Nodist v0.7.1

事实证明,v0.7.2 之前的 Nodist 版本在使用 Nodist 正确设置 npm 时存在问题(请参阅 Nodist changelog)。

执行 npm install -g npm 实际上是在 Nodist 的根安装文件夹中的 v-x64 下安装最新版本的 npm - 不是 Nodist 本身寻找 npm 安装的地方 .

Nodist 在 \bin 文件夹中查找 npm

解决方案

  1. bin 文件夹的路径添加到您的 PATH。
  2. 使用终端
  3. cd 到 Nodist 安装 > bin 目录, 然后执行:

     npm install npm 
    

    (当然没有 -g 标志).

    或者,如果 npm install 在此步骤中不起作用,请复制已安装的 npm 并将其粘贴到 bin 目录中的 node_modules 文件夹中。


作为旁注,请记住从您的 PATH 中删除一些值,我认为这可能会导致与 npm 的全局包安装(即 -g 标志)在安装 Nodist 之前发生冲突,这如下:

  • %appdata%\npm;C:\Users\username\AppData\Roaming\npm;
  • %ProgramFiles%\nodejs;

你可以试试nodist npm latest

Nodist 管理 npm 版本以及节点版本。

我以前也遇到过同样的问题。

您应该使用以下命令nodist npm 6.14.5,更改您需要的版本。

而且您可以通过此命令看到更多选项:nodist --help 是我找到答案的地方: see an example