我在 Windows 10 x64
上运行 PhpStorm 2018.3
。我已将 NodeJS 更新到 10.14.1,其中包括 NPM 6.4.1。
我遇到的问题是 PhpStorm 终端仍然显示 NPM 3.10.10,尽管它显示了正确的 Node 版本。
我试过:
- 重启 PhpStorm
- 重启电脑
- 卸载并重新安装 Node,然后重新启动计算机
这会导致问题,因为在我的 IDE 终端中运行的 NPM 版本无法看到全局安装的包。
来自 Windows 命令行的全局包
来自 PhpStorm 终端的全局包
我如何弄清楚这个问题?
更新
从 PhpStorm 终端运行 where npm
显示本地依赖项已安装较旧的 NPM 版本
是否期望本地安装的 NPM 使终端无法看到我的全局包?
更新2
当我从项目文件夹中运行 Windows 命令行工具时,一切都按预期工作,这与 PhpStorm 终端不同。看到正确的版本,看到全局包,where
命令看不到安装在node_modules
决议
感谢 Lena 提供的解决方案。事实证明,对于 PhpStorm 2018.3
,a new enabled-by-default setting将项目本地 ./node_modules/.bin
中的二进制文件添加到 $PATH
,因此终端将看到本地安装的 NPM 版本,而不是全局版本。为了解决这个问题,我转到 Settings > Tools > Terminal
并取消选中此选项:
Add node_modules/.bin from the project root to %PATH%
如果涉及的任何人正在阅读本文,我建议用户添加一个二进制文件的黑名单,该二进制文件不应在检查此选项时添加。
最佳答案
问题是由 Add 'node_modules/.bin' from the project root to $PATH (Settings | Tools | Terminal) - 因为你有
二进制文件,它也被添加到 node_modules/.bin
中的 npm%PATH%
中,因此在终端中运行 npm
时使用。禁用此选项应该可以解决问题
关于node.js - PhpStorm/WebStorm 终端显示旧的 NPM 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53559809/