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

时间:2018-04-30 00:44:09

标签: 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我使用的是最新的还是旧的?是因为我的全局链接不正确还是什么?

16 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

sudo npm install -g n

如果您想要最新的稳定版

sudo n stable

如果您想要最新版本

sudo n latest

然后重新启动计算机

答案 2 :(得分:1)

如果所有提到的方法都不能帮助您,我们可以做一个更好的解决方案:

您需要安装nvmNode Version Manager

之后,请运行:

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

然后再次检查。

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

如果您尝试了所有上述方法,如:- sudo npm install -g n sudo n稳定

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

答案 5 :(得分:0)

我可以100%保证这项功能有效。

我是从教node.js的人那里得到的。

尝试使用NVM(节点版本管理器)。在以下命令中执行命令:

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

  2. 命令-v nvm

  3. nvm安装节点

最终确认更新成功

  1. npm -v

答案 6 :(得分:0)

尝试关闭终端-再次打开终端后,它应该可以正常工作了。

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

答案 7 :(得分:0)

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

似乎节点在APPDATA中的%AppData%\ Roaming \ npm中创建了一个文件夹 那里有一个旧的npm.exe,它位于用户级别的Windows路径中。用户级别的路径会覆盖新安装程序已添加其路径的系统级别的路径。用户覆盖导致找不到新的npm。解决方案:Shift-Delete%AppData%\ Roaming \ npm! :D删除并重新安装node-v10.16.0-x64.msi

现在npm -v给出6.9.0!

答案 8 :(得分:0)

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

答案 9 :(得分:0)

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

  2. 从Program Files(x86)文件夹中删除nodejs文件夹。

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

答案 10 :(得分:0)

尽管这是一个古老的问题,答案可能无关紧要,但是我很多时候都陷入了这种困境,但有时重启服务器并不是解决方案,因为其他过程将会生效。因此,您无需真正重启服务器就可以刷新终端,为此,您可以运行exec bash,这肯定会有所帮助。

答案 11 :(得分:0)

我今天也遇到同样的错误。更新的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版本。它奏效了。

答案 12 :(得分:0)

我发现此命令行对我有用。

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

我希望这是有用的:

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

答案 13 :(得分:0)

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

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

并尝试使用 npm 来运行脚本

npm run start

其实我犯了这个错误。 因此,请确保使用 yarnnpm,但不能同时使用。

答案 14 :(得分:0)

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

nvm ls

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

nvm alias default <version>

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

答案 15 :(得分:0)

问题总结

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

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

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!