IntelliJ - Git hooks:terraform:command not found

c3frrgcw  于 5个月前  发布在  Git
关注(0)|答案(1)|浏览(74)

工作环境:

  • Pop!_OS 22.04 LTS
  • oh-my-zsh
  • IntelliJ IDEA 2023.2.5(社区版)

问题是:
我有一个全局设置的git hook pre-commit

git config --global core.hooksPath <PATH_TO_HOOK_FILE>

字符串
在这个git hook中,我这样调用terraform命令:

terraform fmt
terraform init
terraform plan


我用homebrew安装了terraform
在我机器上的终端里的ANYgit项目中,当我尝试提交时,一切都像魔法一样工作:

git commit -m "My commit message"
inventories.tf
module.tf
Success! The configuration is valid.

[main 559149a] My commit message
 3 file changed, 6 insertion(+), 5 deletion(-)

的字符串
但是当我使用IntelliJ Idea-> Commit view提交时,我遇到了这个错误:

/home/.../pre-commit: line 57: terraform: command not found


当我在hooks文件中将其更改为命令的完整路径(即/toto/titi/terraform)时,它可以工作。
所以我的问题是:我如何告诉IntelliJ Terraform可执行文件在哪里?
我已经尝试在Settings-> Tools-> Terraform中设置完整路径(不工作),甚至在提交选项中选择“Terraform fmt”也不起作用。
编辑:
正如Dino Letic所指出的,问题是IntelliJ需要加载终端环境变量(我认为这是自动完成的)。
要解决这个问题,可以在终端中启动它,或者使用IntelliJ toolbox安装它,如果你喜欢将它作为一个应用程序启动的话。
编辑2:
当作为应用程序而不是从终端启动时,IntelliJ使用~/.profile来加载PATH等变量。
只需编辑文件,将您的二进制路径添加到PATH变量和您的所有设置:

export PATH=$PATH:<PATH_TO_YOUR_BINS>

1yjd4xko

1yjd4xko1#

IDE应该从默认终端继承env变量。如果在终端中检测到这些路径,你可以在终端中启动IDE吗?

相关问题