git - 如何使 intellij 与使用 hashbang 的 git hooks 一起工作?
问题描述
我有许多使用node
. 为了做到这一点,我为每个看起来像这样的 hashbang 添加了一个 hashbang:
#!/usr/bin/env node
这在命令行上工作得非常好,但是当这些 git 挂钩之一通过在 IntelliJ 中执行的某些操作触发时(例如,当您从 IntelliJ 中切换分支时的结帐后挂钩)我收到以下错误:
/usr/bin/env: ‘node’: No such file or directory
我能做些什么来阻止 IntelliJ 中发生这些错误,因为它们可能会非常具有破坏性并使我的 git 挂钩无效?我试图寻找 git 插件的配置选项,但这似乎没有任何意义。
解决方案
这似乎是由于PATH
IntelliJ 中的环境变量与终端上的不同,并且node
根本无法访问它。知道这一点,几乎没有办法解决它。
- 从命令行运行 IntelliJ;我发现这并不令人满意,因为我无疑会忘记并从仪表板启动它,直到钩子失败才注意到。
- 使用桌面文件将目录添加
node
到 PATHenv
(这可能是 gnome 特定的);这有点令人费解,桌面文件无论如何都会被更新覆盖,所以我放弃了。 - 从将在 PATH 上的目录中提供指向节点的符号链接;例如,我创建了一个符号链接
/usr/bin/node
。
可能还有其他选择,但希望这可以帮助其他遇到类似问题的人。我遇到了这个问题,因为我nvm
用来管理节点版本,所以在执行命令node
之前不在路径上。nvm use <version>
我在 中设置了默认节点版本.zshrc
,但当然,这不适用于 IntelliJ。
推荐阅读
- android - ifconfig 在 linux 终端中工作,但在我的应用程序中不起作用
- java - 人脸检测器移动视觉速度不会随着位图的减小而增加
- sql - 提高不同的查询性能
- javascript - 如何在 Codeigniter 中从数据库中获取日期并在 Bootstrap 日期选择器中禁用?
- javascript - onClick 循环每次点击只发生一次
- python - Pyboard:按下 USR 按钮时更改 LED 颜色
- c++ - Opengl延迟照明中的点光源是〜180度?
- angular - Angular Material Sidenav 应该推动不重叠
- php - 在 users_groups 表中使用 jwt-auth 进行附加检查
- javascript - 将多页 pdf 嵌入到具有用户在页面之间翻转 + 附加功能的能力的站点中