Ruby GEM_HOMEとGEM_PATHを設定する方法

Ruby GEM_HOMEとGEM_PATHを設定する方法

私は新しいLinuxユーザーであり、Linux mint 17.1を使用しています。

この問題を解決するために、過去3日間にLinux Mintを20回再インストールしましたが、修正することはできません。

rvmを使ってRuby on Railsをインストールしようとしています。新しいLinuxインストールを開始し、ターミナルセッションにgemやRubyなどをインストールしようとすると、ターミナルセッションを閉じると正常にインストールされます。しかし、私はこれらの宝石を手に入れることができません。

過去3日間に20回以上再インストールし、オンラインで検索もしてみました。/etc/environmentそのセッションのエコーパスに環境変数を入れて/etc/environmentファイルに貼り付けるように指示されました。

今でもインストールされている宝石を受け取りません。

入力すると、rvm -v次のエラーが発生します。

Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see:
    https://github.com/wayneeseguin/rvm/issues/3212

Warning! PATH is not properly set up, $GEM_HOME is not set,
         usually this is caused by shell initialization files - check them for 'PATH=...' entries,
         it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
         to fix temporarily in this shell session run: 'rvm use ruby-2.2.2'.
rvm 1.26.11 (latest) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]

私はターミナルの使用において非常に初心者であり、Rubyを使用するためにいくつかの基本的なコマンドを実行できます。

知りたい

  1. ルートの設定方法
  2. GEM_HOMEの設定方法
  3. GEM_PATHの設定方法

以下は私のフルパスです。

echo $PATH
/home/sharif/.rvm/gems/ruby-2.2.2/bin:/home/sharif/.rvm/gems/ruby-2.2.2@global/bin:/home/sharif/.rvm/rubies/ruby-2.2.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sharif/.rvm/bin

答え1

exportコマンドで環境変数を設定したいようです。

export PATH=$PATH':/path/to/add'
export GEM_HOME=$HOME/.gem
export GEM_PATH=$HOME/.gem

ただし、これは現在のセッションにのみ適用されます。より永久にするには、次の行を~/.bashrc

答え2

通常、これはrvmが正しく設定されていないことを意味します。一般的なエラーは、.bashrc正しく(または同様に)修正していないか、端末を再ロードしていないことです。

rvmを使用するときは、GEM_HOMEまたはGEM_PATHを手動で設定しないでください。

試してみてsource ~/.rvm/scripts/rvm、動作していることを確認できます。

まだ宝石セットを作っていないかもしれません。 rvmとsudoを使用しないでください。 Rvm は、システム全体ではなくアカウントにインストールする場合に最適です。

答え3

以下は、私が学んだことと、GEM_HOMEとGEM_PATH環境変数が設定されていないエラーという一般的な問題を解決する方法です。


背景

RVMインストールでは、各RVMインストールに対してGEM_HOMEおよびGEM_PATH環境変数を作成する必要があります。ただし、場合によっては環境変数が一時的にのみ設定され、リセットするにはコマンドラインを使用して設定する必要があるバグがあるようです。 RVMで環境変数を永続化する解決策を見つけました。

解決策

  1. アクティブ(RVM上)Rubyのバージョンを見つけます。本番サーバーでアプリケーションディレクトリに移動してを入力すると、インストールされている$rvm listRubyバージョンのリストとRVMでアクティブなバージョンが作成されます。応答例:

    rvm rubies ruby-1.9.3-p547 [ x86_64 ] => ruby-1.9.3-p551 [ x86_64 ]

したがって、現在RVMが使用しているバージョンを知っていますruby-1.9.3-p551。次のステップに進むには、この情報が必要です。

  1. GEM_PATH と GEM_HOME のパスを取得します。:コマンドラインから実行してこれを行うことができます$rvm use ruby-1.9.3-p551。次に、コマンドラインでコマンドを使用してすべての設定を表示しますenv。 GEM_PATH と GEM_HOME を検索し、両方ともワークスペースにコピーします。

    GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551

  2. GEM_HOME および GEM_PATH 環境変数を設定します。次に、多くの構成ファイルのいずれかでこれらの環境変数を設定します。 RVMバージョンの分離構造を維持したかったので、/profile.d/appspecic.shを次の2行に更新しました。

    export GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global export GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551

答え4

前述の@coteyrのように手動で設定しないでください。GEM_HOMEそしてジュエリーパスそれを使用するときrvm。 $ HOME / .rvm / binを実行してPATH環境変数を確認し、$ echo $PATHその変数の一部である場合は、端末がコマンドをログインシェルとして実行していることを確認する必要があります。たとえば、Ubuntuコンピュータを使用している場合は、端末を開き、次に進みます。メニュー>編集>プロファイル設定>コマンド次に、「ログインシェルでコマンドを実行する」を選択します。

これは古い問題のようで、できたかなかなってなってrvm直すのは容易ではないと思います。

関連情報