如何使intellij与使用hashbang的git钩子一起工作?

如何使intellij与使用hashbang的git钩子一起工作?,git,intellij-idea,Git,Intellij Idea,我有许多git钩子是使用node实现的。为了做到这一点,我在每个文件中添加了一个hashbang,如下所示: #!/usr/bin/env node 这在命令行上工作得非常好,但是当这些git钩子中的一个通过IntelliJ中执行的某些操作触发时(例如,当您从IntelliJ中切换分支时出现签出后钩子),我会得到以下错误: /usr/bin/env: ‘node’: No such file or directory 我能做些什么来阻止IntelliJ中发生这些错误,因为它们会造成相当大的破

我有许多git钩子是使用
node
实现的。为了做到这一点,我在每个文件中添加了一个hashbang,如下所示:

#!/usr/bin/env node
这在命令行上工作得非常好,但是当这些git钩子中的一个通过IntelliJ中执行的某些操作触发时(例如,当您从IntelliJ中切换分支时出现签出后钩子),我会得到以下错误:

/usr/bin/env: ‘node’: No such file or directory

我能做些什么来阻止IntelliJ中发生这些错误,因为它们会造成相当大的破坏,并使我的git钩子无效?我试图寻找git插件的配置选项,但似乎没有任何意义。

这似乎是由于IntelliJ中的
路径
环境变量与终端不同,并且
节点
根本无法访问。要知道这一点,几乎没有办法解决它

  • 从命令行运行IntelliJ;我发现这并不令人满意,因为毫无疑问,我会忘记并从仪表板上启动它,直到挂钩失效才注意到
  • 使用桌面文件中的
    env
    节点的目录添加到路径中(这可能是特定于gnome的);这有点复杂,桌面文件可能会被更新覆盖,所以我放弃了
  • 从路径上的目录提供指向节点的符号链接;e、 g.我创建了一个符号链接
    /usr/bin/node
可能还有其他选择,但希望这能帮助其他人遇到类似问题。我遇到此问题是因为我使用
nvm
管理节点版本,因此在执行
nvm use
命令之前,
node
不在路径上。我在
.zshrc
中设置了默认节点版本,但当然,这不适用于IntelliJ