npm安装npm -g不会更新npm到最新版本

ve7v8dk2  于 2023-01-17  发布在  其他
关注(0)|答案(8)|浏览(330)

我正在使用npm v5.3.0。现在我想将npm更新到v5.4.1。为此,我在终端中键入以下命令:
npm install -g npm
没有任何错误。但是,当我键入npm -v时,我得到的版本是5. 3. 0,而不是5. 4. 1
我不得不提到我已经把npm前缀改成了另一个目录。有什么想法吗?我用的是Ubuntu 17. 04
这是我的控制台输出:

s3fp2yjn

s3fp2yjn1#

我在Ubuntu 18.04 LTS上通过使用sudo su切换到root来解决这个问题,然后运行以下命令

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

mftmpeh82#

问题是我在~/.profile中设置了错误的PATH变量。为了帮助您理解,我将npm前缀更改为~/.npm-global
但是我将path设置为~/npm-global,所以我修改了~/.profile中的PATH变量,使其指向~/.npm-global

ibps3vxo

ibps3vxo3#

请在最新(5.4.1)版本中尝试此操作:

npm install -g npm@latest

或任何特定版本,例如:

npm install -g npm@5.4.1

如果这样做没有帮助,请转到安装npm的位置并删除文件:npm和npm命令。

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

3okqufwl

3okqufwl4#

我不得不挖掘更多(可能我有一些配置错误),并采取一种强硬的方法...首先,我运行which npm以获得正在运行的脚本,即/usr/local/opt/node@8/bin/npm.js。从该脚本中,我看到npm包实际上在/usr/local/opt/node@8/lib/node_modules/npm中。

cd /usr/local/opt/node@8/lib/
npm i npm@6.11.2 # or your desired version
rm package-lock.json # clean up

这就成功了,希望对别人有帮助:)
NB:我不是说你应该马上做,如果你尝试其他方法,第一个是更好的,但如果其他方法不起作用给予它一个镜头

6vl6ewon

6vl6ewon5#

在我的例子(Ubuntu)中,唯一起作用的是reboot
之后

npm install npm@latest -g

的输出

npm --version

未更改(显示旧版本)。
除非我做了reboot

rekjcdws

rekjcdws6#

要升级,请运行:sudo npm install npm@latest -g
npm模块可从https://registry.npmjs.org/npm/-/npm- {VERSION}. tgz下载。

e5nszbig

e5nszbig7#

我今天遇到了同样的错误。我更新了节点。由于npm与节点捆绑在一起,npm也被更新了,但是更新的npm版本没有反映。我也尝试使用命令npm install -g npm@latest更新npm版本。但是,版本没有反映。
我就是这么解决的。
1.很多帖子建议使用npm cache clean --f命令,但是,它对我不起作用。因此,我删除了位置C:\Users\SearchYourUserName\AppData\Roaming中的“npm”和“npm-cache”文件夹
1.已再次卸载现有节点。
1.重新安装节点版本v10.x.x。我从https://nodejs.org/dist/latest-v10.x/下载了node-v10.22.1-x64.msi文件并安装了它。
然后检查了npm版本,它已经工作了。

5lhxktic

5lhxktic8#

我通过在管理命令提示符中导航到C:/Users//AppData/Roaming,然后使用rd /s /q(删除)npm和npm缓存文件夹来解决这个问题。

相关问题