我从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找不到,但没有任何简单的解决方案。