【WebStorm】运行报错:env: node: No such file or directory

WebStorm 运行 npm scripts 报错 env: node: No such file or directory 的解决方案

问题描述

在 WebStorm 中点击 package.json 的 dev 脚本运行时,报错:

复制代码
env: node: No such file or directory

但在终端中直接执行 npm run dev 却完全正常。

原因分析

1. 根本原因:macOS GUI 应用不继承 shell 的 PATH

macOS 的 GUI 应用(如 WebStorm)通过 Finder 或 Launchpad 启动时,不会加载 ~/.zshrc 中的环境变量配置,因此无法获取 nvm 初始化后注入的 node 路径。

而在终端中,shell 启动时会自动 source .zshrc,nvm 初始化逻辑正常执行,所以 node 可以被找到。

2. 报错的直接触发点

npm 安装的脚本文件(如 node_modules/.bin/vite)的 shebang 行为:

bash 复制代码
#!/usr/bin/env node

当 WebStorm 执行该脚本时,/usr/bin/env 会在当前 PATH 中查找 node,但此时 PATH 中不包含 nvm 的 node 路径,因此报错。

3. 验证方式

在终端中确认 node 是通过 nvm 安装的:

bash 复制代码
$ which node
/Users/kw/.nvm/versions/node/v22.21.1/bin/node

查看脚本的 shebang:

bash 复制代码
$ head -1 node_modules/.bin/vite
#!/usr/bin/env node

解决方案

方案一:在运行配置中设置 PATH 环境变量(推荐)

  1. 点击 WebStorm 顶部工具栏的运行配置下拉框 → Edit Configurations...

  2. 选中对应的 npm 运行配置

  3. Environment variables 中添加:

    PATH=/Users/kw/.nvm/versions/node/v22.21.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

注意:请将路径替换为你实际的 nvm node 版本路径,可通过 which node 获取。

  1. 点击 OK,重新运行即可。

方案二:使用 WebStorm 内置终端

在 WebStorm 底部打开 Terminal 标签页,nvm 会被正确加载,直接输入:

bash 复制代码
npm run dev

即可正常运行。这是因为 WebStorm 的内置终端会加载 shell 配置文件。

总结

方案 适用场景 影响范围
运行配置设置 PATH 单个项目、安全可控 仅当前运行配置
使用内置终端 快速验证、临时使用 仅终端会话
全局设置 launchctl PATH 一劳永逸 全局所有 GUI 应用

推荐方案一,只影响当前项目的运行配置,最安全可控。切换 node 版本时只需更新对应路径即可。

ps: 问题通过Qoder插件分析解决,博客文档也由 AI 总结完成。

相关推荐
zhongerzixunshi5 天前
spca软件过程能力评估和软件能力成熟度评估
webstorm
凯丨8 天前
JetBrains PyCharm、GoLand、PhpStorm、WebStorm 卡死问题
pycharm·phpstorm·webstorm
|晴 天|9 天前
从零打造现代化个人博客:Vue 3 + TypeScript + Element Plus 完整实战
javascript·css·chrome·typescript·html5·webstorm
.CcC..12 天前
Burp 配置
webstorm
大脸胖柴19 天前
webStorm+gitLab操作学习
学习·gitlab·webstorm
杂家1 个月前
WebStorm搭建Vue3+Element Plus
ide·webstorm
ycjunhua1 个月前
Notebooklm for windows本地安装使用
python·webstorm
A黄俊辉A2 个月前
webstorm+vue+esLint+pretter配置
前端·vue.js·webstorm
森叶3 个月前
phpstrom/webstorm terminal ESC按键不可用处理方法
ide·webstorm