Npm 更新成功,但仍显示旧版本



当我做一个npm -v时,我看到我仍然在5.6.0上。并不断收到提示以执行npm i npm

但是我已经做了一个sudo npm install npm@latest -g并与npm outdated -g --depth=0仔细检查,以查看我的全局 npm 已经是最新的 (6.0.0)。

如何解决此冲突?我使用的 npm 是最新的还是旧的?是因为我的全局链接不正确还是什么?

尝试关闭终端 - 一旦再次打开它,它应该可以工作,对我很好。

*IvanD在原始帖子的评论中写了这个解决方案,我认为值得回答。

我可以 100% 保证这是有效的。

我从教节点.js的人那里得到了这个。

尝试一下 NVM(节点版本管理器)。 按以下顺序执行命令:

  1. 卷曲 -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

  2. 命令 -v nvm

  3. NVM 安装节点

最后确认更新成功

  1. npm -v

如果所有提及方法都对您没有帮助,让我们做一个更好的解决方案:

您需要安装nvm(节点版本管理器)

之后只需运行:

nvm install 14

列出您的版本以查看是否已安装版本

nvm ls

你会得到这样的列表:

v10.2.0
v12.18.3
->     v14.10.0
system
default -> 14.10.0 (-> v14.10.0)
node -> stable (-> v14.10.0) (default)
stable -> 14.10 (-> v14.10.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> v12.18.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.22.0 (-> N/A)
lts/erbium -> v12.18.3

像这样切换默认版本:

nvm alias default 14.10.0

并检查:

node -v

如果打印v14.10.0,您已经准备好摇滚了,如果没有:

nvm use 14

并再次检查。

这需要像魅力一样工作,你会很高兴。

检查您的/usr/local/lib文件夹。我遇到了同样的问题,这里有一个node_modules文件夹。删除它并重新运行[sudo] npm install npm@latest -g后,它显示并使用了正确的版本。

sudo npm install -g n

如果你想要最新的稳定版本

sudo n stable

如果您想要最新版本

sudo n latest

然后重新启动计算机

我今天在节点安装程序 node-v10.16.0-x64.msi 上遇到了这个问题。即使在安装它之后,我也从 npm -v 获得了 3.10 的节点版本......我的反应应用程序将无法启动:(

似乎节点在 %AppData%\Roamingpm 的 APPDATA 中创建了一个文件夹 有一个旧的npm.exe躺在那里,这是我的用户级别的Windows路径。用户级别路径将覆盖新安装程序添加其路径的系统级别路径。用户覆盖导致找不到新的 npm。解决方案:移位-删除 %应用数据%\漫游pm ! :D使用 node-v10.16.0-x64 删除并重新安装.msi

现在 npm -v 给出 6.9.0!

如果您尝试了所有提到的方法,例如:- sudo npm install -g n 须藤 n 稳定

sudo npm install npm@latest -g 仍然 npm -v 向您显示旧版本,一旦尝试关闭终端并打开一个新终端并检查。

虽然这是一个老问题,答案可能无关紧要,但我发现自己多次遇到这种情况,有时重新启动服务器不是解决方案,因为其他过程会受到影响。因此,您需要在不实际重新启动服务器的情况下刷新终端,为此您可以运行exec bash,这肯定会有所帮助。

我找到了这个对我有用的命令行。

从版本12.18更新到最新版本15.2正确。

我希望这是有用的:

nvm install node --reinstall-packages-from=node

我遇到了类似的问题。我在 ubuntu 14.15.4 上安装了节点 v18,但是当我使用node -v时,它显示了 v11.0.0。 要使用 nvm 检查系统上可用的所有节点版本,请使用

nvm ls

要将新安装的节点版本设置为默认版本,请使用

nvm alias default <version>

然后,只需关闭终端并打开一个新终端即可检查节点版本。

问题摘要

npm -v # 6.xx
npm install npm@latest -g
npm -v # still the same, but should be 7.xx

基于fypnlp答案的解决方案。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

终端现在想要配置一些~/.zshrc文件,而我的Mac上还没有该文件。所以让我们创建它

nano ~/.zshrc

和粘贴

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

现在重新启动终端并运行

command -v nvm # should return "nvm"
nvm install node
npm -v # now it’s 7.xx yay!

我认为您的问题已经填满并且已经有了答案。 首先,根据官方文档,节点 8.11.1 (LTS) 和节点 10.0.0(当前最新版本)的 LTS 和当前版本的 NPM 都是 5.6.0。

否则,sudo npm install npm@latest -g应全局安装最新版本的 NPM。

在主目录中搜索node_modules文件夹,重命名或删除它,然后重试。

  1. 首先从控制面板\所有控制面板项\程序和功能中卸载已安装的nodejs。

  2. 从程序文件 (x86) 文件夹中删除 nodejs 文件夹。

  3. 现在安装新版本并检查一次。

我今天遇到了同样的错误。更新的 npm 版本不反映。

这就是我解决它的方式。

  1. 很多帖子建议使用命令 npm 缓存清理 --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 版本。它奏效了。

实际上,这可能是由于错误造成的,例如您使用yarn安装软件包,例如:

// update the version number in package.json then
yarn install

并尝试使用类似npm运行脚本

npm run start

实际上我犯了这个错误。 因此,请确保使用yarnnpm,但不要两者兼而有之。

我有同样的症状,但没有一个答案有帮助,我终于找到了这个问题。 它可能与OP不完全相同,但我认为它是相同的。@Kelvin赵的卸载和重新安装解决方案对他有用,但对我不起作用,所以这可能对其他人有用。

我的问题是我最终使用brew和(我不记得确切如何),但我似乎在brew Celler中有一个旧版本。 Brew不知道这件事,或者不能告诉我,因为我做一个brew uninstall node它说它不存在。 当我运行node -vnpm -v时,我会得到旧版本。

我使用brewnpm卸载并重新安装,sudo npm等没有这样做。 它显示了正在安装的正确版本,但node -v仍然显示旧的版本。

原来我的/usr/local/Celler目录中有一个名为node@14的版本。

所以运行brew uninstall node@14摆脱了它,现在 node -v 不再工作了。

现在重新安装节点可以工作。brew install node


更多信息,为感兴趣的人提供更多详细信息。

我想找出我仍然安装了节点的位置,所以我做了echo $PATH因为它必须在路径中的某个地方node -v不会被识别。

原来我的路径上有/usr/local/opt/node@14(与/usr/local/Celler/node@14有关)

我就是这样找到的。 现在我想我记得它是如何到达那里的。我 90% 确定我做了 node 的升级,brew 问如何处理旧版本,我想我说要保留它。 这是我的错误,导致我来到这里(以及我认为OP的情况不同)

就我而言,我想使用版本 18,它显示 16。我在Mac上使用自制软件,对我有用的命令如下:

brew uninstall node@16

瞧,之后显示的版本是 18。

当我在自己的终端中使用 nvm 别名时,我在 VS Code 中遇到了问题,即使在运行 alias 命令之后,即使我在 VS Code 中打开一个新终端,版本也会不断切换回旧版本。但是听起来很愚蠢,在我在独立终端中设置版本,关闭并重新打开 vscode 对我来说是有效的。

最新更新