升级 npm 版本的问题

Posted

技术标签:

【中文标题】升级 npm 版本的问题【英文标题】:Problems upgrading npm version 【发布时间】:2019-02-16 02:14:39 【问题描述】:

我正在尝试升级 npm 版本:

npm -v

5.6.0

sudo npm install -g npm@6

/home/$user/.npm-global/bin/npm -> /home/$user/.npm-global/lib/node_modules/npm/bin/npm-cli.js

/home/$user/.npm-global/bin/npx -> /home/$user/.npm-global/lib/node_modules/npm/bin/npx-cli.js

+ npm@6.4.1

在 20.723 秒内更新了 1 个包

但在我检查后仍然是 v5.6.0 的版本

npm -v

5.6.0

我正在使用 Windows 10(版本 1803),但我在运行 Ubuntu 18.04 的 WSL 上安装了 nodejs 节点安装在这些steps

更新:

oh-my-zsh 似乎有问题......因为我尝试了 bash 并且版本是正确的 (6.4.1) 并且当我输入 zsh 时从 bash 我得到 6.4.1 npm 版本。但是当我启动终端时,zsh 没有加载正确的 npm 版本。

我正在用这种方式加载 oh-my-zsh ????

~/.bashrc

bash -c zsh

【问题讨论】:

您是否尝试检查 npm 将您的东西安装在哪里?你试过关闭和打开终端吗? npm 在 usr/bin/npm 上,是的,我尝试关闭并打开终端但不工作 【参考方案1】:

要更新 nodejs 本身,您可以使用 nvm,如下所示:

查看可用版本和正在使用的版本:

`nvm ls`

切换到 Node.js 版本 6.4.1:

`nvm use 6.4.1`

切换到 Node.js 版本 9.3.0(任何版本,这只是一个示例):

`nvm use 9.3`

自动切换到最新的 Node.js 版本:

nvm use node

切换到最新的 LTS Node.js 版本:

nvm use node --lts

如需参考,请参阅this article。

编辑:最初误读了问题,所以请参考This post

【讨论】:

谢谢,但我不想更新node,我只想更新npm...我没有安装nvm 是的,这就是为什么我编辑了答案以引用 ***.com/questions/6237295/… :) 好的,让我检查一下。谢谢【参考方案2】:

尝试清除 npm 缓存:

npm cache clean --force

然后

npm i npm@6 -g

希望对你有帮助。

【讨论】:

尝试使用 npm i npm@6.0.0 -g 或 npm@latest-6【参考方案3】:

这是 WSL 和 npm 默认安装文件夹权限的问题。再次尝试从nodejs for ubuntu 安装节点,您将获得 npm 6.*

【讨论】:

【参考方案4】:

使用 nvm 管理您的节点版本 - 这是您通过 homebrew 安装它的方式

uninstall existing node
brew uninstall --force node

brew update
brew install nvm

将此保存为您的类路径 (.bash_profile)

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

nvm install 6(此安装节点版本 6 稳定版本) 您也可以执行 nvm install 8 或 nvm install 10(根据您喜欢保留的版本)

然后做

nvm use 6

要使用特定的节点版本,您也可以使用 nvm use 10 或 nvm use 8

如果你想在你的全局上修复这个版本 -- 将 nvm use 6 添加到你的 .bash_profile

【讨论】:

以上是关于升级 npm 版本的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 上将 NPM 升级到特定版本 6.4.1?

如何将我的 npm 版本升级到 8.11.1?

通过 npm 在 windows 中升级到最新的节点版本

如何正确将 angular 2 (npm) 升级到最新版本?

在 node.js 项目中升级(mongodb)npm 包主要版本

如何使用 npm 升级 Libsass?