我正在使用“Windows上的Bash on Ubuntu”(Linux子系统),并希望将Terraform添加到我的$ PATH中。由于无法通过apt-get安装Terraform,我执行了以下步骤:
导航到此目录,我想在其中安装Terraform:
cd / usr / local
在上面的路径中,我使用wget下载Terraform:
的wget https://releases.hashicorp.com/terraform/0.9.8/terraform_0.9.8_linux_amd64.zip
Terraform成功解压缩!当我在VIM中打开文件时,一切都很好:
解压缩terraform_0.9.8_linux_amd64.zip
然后输入此命令以检查是否可以从命令行访问Terraform二进制文件:
terraform -version
但是会返回以下消息:
terraform: command not found
这告诉我Terraform下载的位置需要添加到我的$ PATH。
vim~ / .profile
以下内容已在此文件中,我保持不变:
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
mesg n
在此文字的下方,我添加以下内容,并使用:wq成功保存文件!:
export PATH=/usr/local/bin:$PATH
export PATH=$PATH:/usr/local/terraform
6。 然后我再次输入以下命令来检查是否检测到terraform
terraform -version
返回相同的“terraform:command not found”消息。我甚至尝试关闭并启动新的命令行会话,甚至重新启动计算机。仍然没有变化。
任何人对如何解决此问题都有任何想法?再次注意,我正在使用“Windows上的Ubuntu上的Bash”(Linux子系统)。任何意见都将不胜感激!
答案 0 :(得分:6)
最后直接回答你的问题。 但是我认为如果你继续读这里会更有意义。
在尝试添加到PATH
之前,
我建议先测试一个程序。
在你的情况下,我会这样做:
wget https://releases.hashicorp.com/terraform/0.9.8/terraform_0.9.8_linux_amd64.zip
unzip terraform_0.9.8_linux_amd64.zip
./terraform
注意最后一行./terraform
。
该zip文件包含一个文件terraform
,
现在应该在当前目录中,
所以我可以用./terraform
运行它。
如果它是可执行的。
如果它不可执行,请确认:
ls -l terraform
如果需要,请将其设为可执行文件:
chmod +x terraform
现在让我们将其添加到PATH
。
但首先,
让我们决定把这个可执行文件放到哪里。
/usr/local/bin
似乎是一个合理的位置。
因此,让我们将terraform
可执行文件移动到该目录中。
通常/usr/local/bin
已经在PATH
上,
所以你可能不需要改变任何东西。
现在你可以试试你的支票了,它已经很有可能了:
terraform -version
如果没有,则/usr/local/bin
上不会PATH
。
要添加它,请在~/.profile
:
export PATH=$PATH:/usr/local/bin
您的方法有两件事情看起来根本错误:
将/usr/local/terraform
添加到PATH
。这很可疑,因为PATH
上的条目必须是目录,并且在您的帖子中没有任何内容表示您在/usr/local/terraform
创建了目录。
cd
进入/usr/local
,然后是unzip
terraform的zip文件。链接的zip包含一个名为terraform
的文件,因此示例中的/usr/local/terraform
应该是一个文件。terraform
其基目录来使其可执行为PATH
。但是将/usr/local
添加到PATH
并不是一个好主意。将二进制文件放入/usr/local/bin
而非直接放入/usr/local
您没有提及如何重新加载~/.profile
。编辑此文件后,您添加的新命令不会在当前shell中自动执行。当您打开一个新shell时,它们将被执行。或者您可以在当前shell中手动执行添加的命令。
答案 1 :(得分:0)
点击以下命令
export PATH=$PATH:/usr/local/bin