npm install npm -g不会将npm更新为最新版本

时间:2017-09-11 21:09:57

标签: npm

我正在使用npm v5.3.0。 现在我想将npm更新为v5.4.1。为此,我在终端中键入以下内容:

npm install -g npm

没有任何错误。但是当我输入npm -v时,我得到的版本是5.3.0而不是5.4.1

我必须提到我已将npm前缀更改为另一个目录。 有任何想法吗? 我使用的是Ubuntu 17.04

这是我的控制台输出: enter image description here

7 个答案:

答案 0 :(得分:5)

我在Ubuntu 18.04 LTS上通过使用sudo su切换到root来解决它,然后运行以下

curl -L https://www.npmjs.com/install.sh | sh

答案 1 :(得分:3)

问题是我在~/.profile错误中设置了PATH变量。 为了帮助您理解。我已将npm前缀更改为~/.npm-global

但是我将路径设置为~/npm-global。所以我修改了〜/ .profile中的PATH变量来指向~/.npm-global

答案 2 :(得分:1)

请尝试使用最新版本(5.4.1):

npm install -g npm@latest

或任何特定版本,例如:

npm install -g npm@5.4.1

如果没有帮助,请转到安装了npm的位置,然后删除文件:npm,npm.cmd。

之后请再次尝试npm install -g npm@5.4.1

答案 3 :(得分:0)

要升级,请运行:sudo npm install npm@latest -g

npm模块可在https://registry.npmjs.org/npm/-/npm- {VERSION} .tgz下载。

答案 4 :(得分:0)

我不得不多挖一点(可能我配置有误),并采取了硬性方法... 首先,我运行Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: C:\opt\apache-maven-3.6.3\bin\.. Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_171\jre Default locale: en_US, platform encoding: Cp1252 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" 以获取正在运行的脚本,即which npm。 从该脚本中,我看到npm软件包实际上位于/usr/local/opt/node@8/bin/npm.js中。 所以我跑了

/usr/local/opt/node@8/lib/node_modules/npm

那成功了,希望能对某人有所帮助:)

注意:我并不是说您应该立即执行此操作,首先尝试使用其他方法会更好,但是如果其他方法不起作用,请尝试一下

答案 5 :(得分:0)

我今天也遇到同样的错误。我更新了节点。由于npm与节点捆绑在一起,因此npm也已更新,但更新后的npm版本未反映。我也尝试使用命令npm install -g npm @ latest更新npm版本。但是,该版本没有体现出来。

这就是我的解决方法。

  1. 许多帖子建议使用命令npm cache clean --f。但是,它对我没有用。因此,我从位置C:\ Users \ SearchYourUserName \ AppData \ Roaming

    删除了“ npm”和“ npm-cache”文件夹
  2. 再次卸载现有节点。

  3. 重新安装的节点版本v10.x.x。我从https://nodejs.org/dist/latest-v10.x/下载了node-v10.22.1-x64.msi文件并安装了它。

然后检查npm版本。它奏效了。

答案 6 :(得分:0)

就我而言 (Ubuntu),唯一有效的是 reboot

之后

npm install npm@latest -g

输出

npm --version

未更改(显示旧版本)。

除非我做了reboot