env: node: 编译 less 时 phpstorm 中没有这样的文件或目录

env: node: No such file or directory in phpstorm when compiling less

我正在尝试使用 phpstorm 将我的 main.less 文件编译为 main.css 文件。但是,我收到此错误并且 .less 文件无法编译。

/usr/local/bin/lessc main.less
env: node: No such file or directory

Process finished with exit code 127

我正在使用 mac,但不确定为什么会这样。之前它工作正常,但我重新启动了我的电脑,现在我收到了这个错误。

有谁知道为什么会这样以及如何解决?

似乎在您的 PATH 中找不到节点。 PHPStorm 通常使用您的环境变量来确定工具位置。但在 MacOSX 上,GUI 应用程序和终端内的环境变量不同。 PHPStorm 通过在启动时执行以下命令尝试在启动时加载终端环境:

-l -i -c '/Applications/PHPStorm.app/bin/printenv.py'

似乎此命令失败或无法检索所有需要的内容。 当从系统终端(打开 -a /Applications/PHPStorm.app)使用 运行 PHPStorm 时,您能否检查问题是否仍然存在? 还有一件事要检查:请打开您的 Less 文件观察器设置,在 'Environment variables' 字段中按省略号按钮以查看变量 - 您是否启用了 'Include parent environment variables'?如果禁用此选项,文件观察器将无法使用系统环境变量

这件事发生在我身上,因为我通过 nvm 安装了节点,并且 nvm 通过不受官方支持的自制软件安装。我完全删除了 nvm 并使用 official install script 重新安装了它,通过 nvm 重新安装了节点,错误消失了。

有关详细信息,请参阅

uglify-js 有这个问题,但这是一回事。原来是使用了nvm导致的,nvm嵌套了节点root。 通过关注@funivan 评论以在 nvm 下创建指向我的(默认)节点版本的符号链接来修复它。

sudo ln -s /home/[usr]/.nvm/versions/node/[v8.9.1]/bin/node /usr/bin/node

我在升级到 Monterey OSX 时遇到了这个问题。我可以在 phpstorm 的文件观察器中看到 ENV 路径与我的终端命令行路径不匹配。所以我更新了 PHPStorm,然后正确的 ENV 路径出现在 PHPStorm 中,一切都再次运行。因此被 OS 升级破坏并被 PHPStorm 升级修复。