PhpStorm / WebStorm终端显示旧的NPM版本

时间:2018-11-30 14:51:17

标签: node.js phpstorm webstorm

我正在Windows 10 x64上运行PhpStorm 2018.3。我已经将NodeJS更新到10.14.1,其中包括NPM 6.4.1。

Windows命令行工具显示正确的版本 enter image description here

PhpStorm设置显示正确的版本 enter image description here

我遇到的问题是,尽管PhpStorm终端显示了正确的节点版本,但仍然显示NPM 3.10.10。

enter image description here

我尝试过:

  • 重新启动PhpStorm
  • 重新启动计算机
  • 卸载并重新安装Node,然后重新启动计算机

这会引起麻烦,因为在我的IDE终端中运行的NPM版本无法看到全局安装的软件包。

Windows命令行中的全局软件包

enter image description here

PhpStorm终端中的全局软件包

enter image description here

我该怎么做?

更新

在PhpStorm终端上运行where npm显示本地依赖项已安装较旧的NPM版本

enter image description here

enter image description here

是否期望本地安装的NPM使终端无法看到我的全局软件包?

更新2

当我从项目文件夹中运行Windows命令行工具时,一切正常,与PhpStorm终端不同。可以看到正确的版本,可以看到全局软件包,并且where命令无法看到安装在 node_modules

中的本地NPM。

enter image description here

分辨率

感谢Lena提供解决方案。事实证明,使用PhpStorm 2018.3a new enabled-by-default setting将项目本地./node_modules/.bin中的二进制文件添加到$PATH中,因此终端将看到本地安装的NPM版本而不是全局版本。要解决此问题,我去了Settings > Tools > Terminal并取消选中此选项:

  

从项目根目录将node_modules / .bin添加到%PATH%

如果涉及到的任何人都在阅读本文,我建议允许用户添加选中此选项时不应添加的二进制文件黑名单。

1 个答案:

答案 0 :(得分:4)

该问题是由于将项目根目录中的“ node_modules / .bin”添加到$ PATH “设置” |“工具” |“终端” )引起的-您拥有{{1 }}是npm中的二进制文件,它也已添加到node_modules/.bin中,因此在终端中运行%PATH%时使用。禁用此选项应该可以解决问题