[英]terraform: command not found,export $PATH unresolved
我在 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"
和后一個符號鏈接
/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
相同/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
您最好在The Official Terraform Website之后再次安裝Terraform 。 但是例如,要為Ubuntu和Debian安裝Terraform ,我們需要運行如下所示的 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
所以我在上面用“&&”將它們連接起來,如下所示,這樣我們就可以一次在上面運行它們並且它工作正常。 只需復制、粘貼並運行以下適用於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 not found” ,但沒有任何簡單的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.