web-dev-qa-db-ja.com

Windows上のUbuntu(Linuxサブシステム)のBashで$ PATHを設定する際の問題

「Windows上のUbuntuでのBash」(Linuxサブシステム)を使用していて、Terraformを$ PATHに追加したいと考えています。 Terraformはapt-getを使用してインストールできないため、次の手順を実行しました。

  1. Terraformをインストールしたいこのディレクトリに移動します。

    cd/usr/local

  2. 上記のパスでは、wgetを使用してTerraformをダウンロードしました。

    wget https://releases.hashicorp.com/terraform/0.9.8/terraform_0.9.8_linux_AMD64.Zip

  3. Terraformが正常に解凍されました! VIM=でファイルを開くと、問題ありません。

    unzip terraform_0.9.8_linux_AMD64.Zip

  4. 次に、次のコマンドを入力して、コマンドラインからTerraformバイナリにアクセスできるかどうかを確認します。

    terraform -version

ただし、次のメッセージが返されます。

terraform: command not found

これにより、Terraformのダウンロード場所を$ PATHに追加する必要があることがわかります。

  1. すでにrootユーザー(「Sudo su」)としてログインしています。「。profile」にアクセスするには、次のコマンドを入力します。

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 -version

それでも、同じ「terraform:コマンドが見つかりません」というメッセージが返されます。新しいコマンドラインセッションを閉じて開始し、コンピューターを再起動することさえ試みました。まだ変化なし。

誰でもこれを解決する方法について何かアイデアがありますか?繰り返しますが、私は「Windows上のUbuntuのBash」(Linuxサブシステム)を使用していることに注意してください。任意の入力をいただければ幸いです!

8
user791134

あなたの問題に対する直接的な答えは終わりです。しかし、ここから読み続ければもっと意味があると思います。

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/binPATHにありません。追加するには、~/.profileに次の行を追加します。

export PATH=$PATH:/usr/local/bin

あなたのアプローチでは、2つのことが根本的に間違っているように見えました。

  1. PATH/usr/local/terraformを追加しています。 PATHのエントリはディレクトリである必要があるため、これは怪しげです。投稿では、/usr/local/terraformにディレクトリを作成したことを示すものは何もありません。

    • cd/usr/localに入れ、次にunzip terraformのZipファイルに入れます。リンクされたZipにはterraformという名前の単一のファイルが含まれているため、例の/usr/local/terraformはファイルである必要があります。
    • ファイルの場合は、terraformにベースディレクトリを追加してPATHとして実行可能にすることができます。ただし、PATH/usr/localを追加することはお勧めできません。バイナリを/usr/local/binに直接入れるのではなく、/usr/localに入れるのが一般的です。
  2. ~/.profileをリロードした方法については言及していません。このファイルを編集した後、追加した新しいコマンドが現在のシェルで自動的に実行されません。新しいシェルを開いたときに実行されます。または、現在のシェルで追加されたコマンドを手動で実行することもできます。

9
janos