私はLinuxのNOVICEユーザーで、Linux mint 17.1を使用しています
その問題のために過去3日間にLinux Mintを20回再インストールしましたが、修正できませんでした
Ruby on Rails rvmを使用して新しいLinuxインストールを開始し、gemをインストールしてみたところ、Rubyと1つのターミナルセッションのものが正常にインストールされましたが、ターミナルセッションを閉じるとすぐに、それらの宝石を取得できません。
過去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で作業するためにいくつかの基本的なコマンドを実行できます。
私が知りたいのですが
以下は私の完全なパスです
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
環境変数を設定するためのコマンドexport
が必要なようです:
export PATH=$PATH':/path/to/add'
export GEM_HOME=$HOME/.gem
export GEM_PATH=$HOME/.gem
ただし、これは現在のセッションでのみ有効になります。それらをより永続的にするには、これらの行を~/.bashrc
に追加します。
通常、これは、rvmが正しくセットアップされていないことを意味します。通常の間違いは、.bashrc
を正しく(または同様に)変更しなかったか、端末をリロードしなかったことです。
Rvmを使用する場合は、GEM_HOMEまたはGEM_PATHを手動で設定しないでください。
source ~/.rvm/scripts/rvm
を試して、それが機能するかどうかを確認できます。
また、gemsetをまだ作成していない可能性もあります。 rvmとSudoは使用しないでください。 Rvmは、システム全体ではなく、アカウントantにインストールしたときに最適に機能します。
.profileが最後に読み込まれ、パスの先頭に〜/ .local/binと〜/ binが配置されることがわかりました。 /etc/profile.d/rvm.shを〜/ .rvmに移動し、.profileの最後に「source〜/ .rvm/rvm.sh」を追加したところ、エラーは発生しなくなりました。私はLinux Mint 18.3を使用しています。私はpyenv、rvm、およびsdkmanをインストールしていて、すべてが最後になりたがっています。それらはすべて正常に動作しています。 :)
共有システムの場合は、rvm.shをパスのどこかに移動するだけで、他のユーザーが/opt/rvm/rvm.shなどからソースを入手できます。
これが私が学んだことと、GEM_HOMEおよびGEM_PATH環境変数が設定されないエラーのこの一見一般的な問題をどのように解決したかです。
背景
RVMのインストールでは、セットアップされているRVMごとにGEM_HOMEとGEM_PATHの環境変数が作成され、それが行われます。しかし、明らかに環境変数が一時的にしか設定されないようなバグがあり、それらを再設定するには、コマンドラインで設定する必要があります。 RVMでenv変数を永続化するための回避策を見つけました。
回避策
アクティブ(RVM内)を検索)Ruby version:本番サーバーでアプリディレクトリに移動し、$rvm list
と入力します。これにより、リストが表示されますRubyインストールされているバージョンのうち、どれがRVMでアクティブであるか。応答の例:
rvm rubies Ruby-1.9.3-p547 [ x86_64 ] => Ruby-1.9.3-p551 [ x86_64 ]
したがって、RVMは現在バージョンRuby-1.9.3-p551
を使用していることがわかります。次のステップでこの情報が必要になります。
GEM_PATHおよびGEM_HOMEのパスを取得:これは、コマンドライン$rvm use Ruby-1.9.3-p551
から実行して行います。次に、コマンドラインから、command 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
GEM_HOMEおよびGEM_PATH環境変数を設定します:次に、これらの環境変数を多数のプロファイルファイルの1つに設定します。 RVMバージョンの分離構造を維持したかったので、/ profile.d/appspecific.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
@coteyrについて述べたように、GEM_HOMEおよびGEM_PATHを手動で設定しないでくださいrvm
を使用する場合。 PATH環境変数を確認する場合、$ echo $PATH
を実行して$ HOME/.rvm/binがその一部である場合は、端末がログインシェルとしてコマンドを実行していることを確認する必要があります。たとえば、Ubuntuマシンを使用している場合は、ターミナルを開いて、menu> Edit> Profile Preferences> Commandに移動し、[Run commandログインシェルとして」
これはrvm
の古い問題のようですが、しばらくの間使用されているため、修正するのは簡単ではないと思います。
$GEM_PATH
に私のシステム(Manjaro/Arch)を入力するためにgems
を.bashrc
に追加しました:
for _entry in /usr/lib/Ruby/gems/*; do
if [[ -d $_entry ]]; then
# TODO: Add only if not there already
export GEM_PATH=$_entry:$GEM_PATH
fi
done
unset _entry