2017-03-24 3 views
0

最初に、私はLinuxに新しいので、用語が間違っている場合は私に言い訳をしてください。私は可能な限り有能に問題をフレーズしようとします。Bash-コマンドのデフォルトディレクトリを変更する方法

Linuxbrew経由でRuby(2.4.0)をインストールしました。 rubyコマンドは正常に動作します。それは正しくインストールされています。私は(Rubyがインストールされている必要があります)gemコマンドを使用しようとすると、しかし、私はこのエラーが表示されます。 bash: /usr/bin/gem: No such file or directory

さて、私はこのディレクトリが正しくないことを知っているLinuxbrewでこれをインストールしているため。たとえば:

which gemの結果:/home/me/.linuxbrew/bin/gem

which rubyの結果:/home/me/.linuxbrew/bin/ruby

したがって、gemがインストールされているようだが、gemコマンドが正しいパスにリンクされていません。私は、gemのコマンドをの代わりにwhich gemのパスに向ける必要があると仮定します。これをどうやって変えるの?私は無駄にbash_profileを変更しようとしましたが、何をすべきか分かりません。

また、rubygemがコマンドとして参照されていない場合、および問題がタイトルに記載されている「デフォルトディレクトリ」ではない場合は、私はそれにラベルを付ける方法がわかりませんでした。

EDIT/TL; DRは:/home/me/.linuxbrew/bin/gem代わり/usr/bin/gemにプログラムを探しているの:

基本的に、どのように私はgemがこれを実行することができますか?

+0

シェルで 'gem'を起動すると、シェルはPATH環境変数にリストされているすべてのディレクトリで' gem'という実行可能ファイルを探します。 (このコロンで区切られたリストを見るには 'echo $ PATH')。短期的な修正を行うには、 '/ home/me/.linuxbrew/bin'を' PATH =/home/me/.linuxbrew/bin:$ PATH'でパスに追加します。 –

答えて

0

bash_profileからLinuxbrewへ

したがって、上記のスティアンの答えはhash -rとなりますが、私は確信しています。

1

gemを実行する代わりに、/home/me/.linuxbrew/bin/gemを実行します。つまり、完全なパス名を入力します(その後に必要な引数が続きます)。

これが面倒になる場合は、PATHを変更することができます。あなたのbinディレクトリが

PATH=$HOME/.linuxbrew/bin:$PATH 
1

まず、あなたがエラー/usr/bin/gem not foundを得る理由で先頭に追加、同じシェルセッションで以前、ファイルがそこに使用されているものです。 Bashはこれをキャッシュして、同じコマンドを何度も実行するときの処理速度を上げます。 hash -rを実行するとこれがクリアされます。

編集PATHあなたが管理していると思われるので、whichコマンドは結果を返します。私は以前にインストールし、同じターミナルウィンドウ内のget-aptの代わりにLinuxbrew経由ルビーをアンインストールしていたとして、私の中で指定されたパスとは反対に、バッシュはusr/bingemを探していた私自身のquestion-

に答えるために

関連する問題