bash:Terraform:找不到命令,未解决的导出$路径



我从ubuntu中的命令行运行Terraform(EXE)的所有努力都是不成功的

~/tectonic_1.7.9-tectonic.2$ terraform init ./platforms/metal
terraform: command not found

我更改了〜/.profile文件

PATH="$HOME/bin:$HOME/.local/bin:$HOME/bin/tectonic_1.7.9-tectonic.2:$PATH"

和后一个sym链接

/usr/bin# ls -l terraform
lrwxrwxrwx 1 root root 39 dec  6 16:29 terraform -> /home/milenko/tectonic_1.7.9-tectonic.2

我不明白怎么了。如果我尝试Asere建议的

ln -s /home/milenko/tectonic_1.7.9-tectonic.2/terraform /usr/bin/terraform
ln: failed to create symbolic link '/usr/bin/terraform/terraform': File exists

首先是修复程序,然后说明:

ln -snf /home/milenko/tectonic_1.7.9-tectonic.2/terraform /usr/bin/terraform
# or equivalently:
#rm /usr/bin/terraform
#ln -s /home/milenko/tectonic_1.7.9-tectonic.2/terraform /usr/bin/terraform

当前您的/usr/bin/terraform指向/home/milenko/tectonic_1.7.9-tectonic.2

这是不正确的,因为terraform二进制在/home/milenko/tectonic_1.7.9-tectonic.2/terraform中。

您需要将/usr/bin/terraform指向/home/milenko/tectonic_1.7.9-tectonic.2/terraform

让我们了解这里发生的事情:

ln -s /home/milenko/tectonic_1.7.9-tectonic.2/terraform /usr/bin/terraform
ln: failed to create symbolic link '/usr/bin/terraform/terraform': File exists

为什么命令失败?由于/usr/bin/terraform存在,它指向/home/milenko/tectonic_1.7.9-tectonic.2,以上评论不会尝试替换/usr/bin/terraform,但是尝试创建/usr/bin/terraform/terraform。而且由于/usr/bin/terraform指向/home/milenko/tectonic_1.7.9-tectonic.2,因此/usr/bin/terraform/terraform已经存在,因此实际上与/home/milenko/tectonic_1.7.9-tectonic.2/terraform相同。因此,文件存在,命令失败。

一种解决方案是删除不正确的符号/usr/bin/terraform,然后重新运行ln -s /home/milenko/tectonic_1.7.9-tectonic.2/terraform /usr/bin/terraform

另一个解决方案是将-f-n标志添加到ln,强制替换符号链接:

ln -snf /home/milenko/tectonic_1.7.9-tectonic.2/terraform /usr/bin/terraform

1月,2022年1月更新:

您最好安装 Terraform 在官方Terraform网站之后再次。但是,例如,要安装 Terraform 对于 ubuntu debian ,我们需要运行4个命令,如下所示,这很麻烦。此外,每次打开终端时,我们都需要在下面运行4个命令,这更麻烦:

sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update && sudo apt-get install terraform

因此,我将它们与>&quot" amp;""""&quot'相连,如下所示,我们可以立即在上面运行它们,并且可以正常运行。只需复制,粘贴并运行以下命令,以 ubuntu debian

sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl &&
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - &&
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" &&
sudo apt-get update && sudo apt-get install terraform

我经常搜索错误 bash:terraform:command找不到,但没有任何简单的解决方案。

最新更新