RVMは機能ではありません。「rvm use…」でルビーを選択しても機能しません


160

Rubyバージョンを一覧表示する

console:~$ rvm list

rvm rubies

ruby-2.0.0-p481 [ i686 ]

# => - current
# =* - current && default
#  * - default

Rubyの特定のバージョンを使用してみてください

console:~$ rvm use 2.0.0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

1
あなたは何をしようとしているのですか?
Pavan

どの端末を使用していますか?ログインシェルの設定は、ターミナルアプリケーションごとに異なります。source $HOME/.profileまたはsource $HOME/.bash_profile、rvmがおそらくそのinit行を定義した可能性があります。
Michael

コンソールをログインシェルとして実行する必要があります。どのようなシステムがありますか?
BroiSatse 2014年

Terminal Gnome the Ubuntu 12.04 lts
user3678471

4
ケースでは、非ログインシェルVSログインの違いは何を思っている:unix.stackexchange.com/questions/38175/...
stephenbez

回答:


236

コンソールがログインシェルとして実行されていないため、rvm関数にアクセスできません。Ubuntuを実行している場合は、次のことができます。

  1. コンソールを開く
  2. [編集]-> [プロファイル設定]を選択します
  3. 選択タブ:タイトルとコマンド
  4. チェックボックス「ログインシェルとしてコマンドを実行する」
  5. 端末を再起動

1
私はそれをしましたが、うまくいきませんでした。問題が解決しない。RVMを完全に削除する方法?
user3678471 2014年

16
もちろん、〜/ .profile [[-s "$ HOME / .rvm / scripts / rvm"]] &&に次のものが必要です。"$ HOME / .rvm / scripts / rvm"
nadersoliman '

3
これはもっと説明できると思います―「したがって、rvm機能にアクセスできません」
matanster '17

1
出来た。Buこれら2つの違いを教えてくれますか?
Krishnadas PC 2017

6
OSXで動作するのは/bin/bash --login; source ~/.rvm/scripts/rvm; rvm use 2.4.0
Jayesh '16

116

bash --login端末から入力します。そして与えるrvm use 2.0.0


@AdityaPednekarしたがって、エラー/コンソールメッセージを読むことが実際に役立つ場合 RVM is not a function, selecting rubies with 'rvm use ...' will not work. You need to change your terminal emulator preferences to allow login shell. Sometimes it is required to use /bin/bash --login as the command. Please visit https://rvm.io/integration/gnome-terminal/ for a example.があるため、詳細を指定します。
好奇心旺盛な

ええ、それはそれが使用するのにrvm比べて不合理に複雑であることを理解するのに役立ちますnvm
Jannis Ioannou

53

RVMが「.bash_profile」を正しくロードしていないようです。端末を開いて次のように書くことで、MAC OS XまたはUbuntu 14.04で修正しました。

source ~/.rvm/scripts/rvm

41

私の環境はOSX Yosemiteです。同じ問題があった....以下を追加することで解決

1)次の行を編集して.bash_profileファイルに追加します。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

2)端末を再起動し、RVMコマンドを再試行します


2
これを〜/ .bashrcまたは〜/ .zshrc(zshを使用している場合)に追加することもできます。
adridev 2015

ターミナルを使用したくない場合や再起動できない場合はsource ~/.bash_profile、編集後に実行できます。
Andre Ravazzi

35

ターミナルを開くたびにそうしたくない場合は、上記の提案をもう一度行ってください。

source ~/.rvm/scripts/rvm

の終わりに ~/.bashrc


これは役に立ちました。
Arup Rakshit

..そして再起動が必要ですか?
gordie

16

このエラーは、ログインシェルのようにrvmが実行されていないことが原因です。したがって、以下のコマンドを試してください:

/bin/bash --login

ターミナルでログインシェルとしてすぐにrvmコマンドを実行できます。

ありがとう!


15

他の答えと同じ原則、それはターミナルを再び開くよりも速いと思っただけです:)

bash -l -c "rvm use 2.0.0"

誰かがこれらすべてよりも良い答えを考え出す必要があります。これは、この質問に対するすべての回答の中で私にとって有効な唯一の項目ですが、これはいつもやりたいことではありません。Im on Mac OSX Sierra
djangofan

9

あなたは追加する必要がありますsource ~/.rvm/scripts/rvm~/.your_shellrc file。これからシェルをロードすると、rvmがロードされます。

例えば:

zshシェルを使用している場合は、追加する必要があります ~/.zshrcファイルます

bashシェルを使用している場合は、追加する必要があります ~/.bashrcファイルます

次に、新しいタブを開いて効果を確認します。


7

Ubuntu(18.08)で私のために、私は.bashrcに以下の行を追加しました、そしてそれは動作します。

 source /home/username/.rvm/scripts/rvm

この行を追加してください。


1
ありがとう!これはMacOSではうまくいきました!提案として、~ユーザーのホームパスを参照するのに使用する方が良いと思います:source ~/.rvm/scripts/rvm:-)
Giovanni Benussi

2

新しいUbuntu 16.04インストールから

1)ターミナル=>編集=>プロファイル設定

2)コマンドタブ=>ログインシェルとして実行コマンドを確認

3)端末を閉じて、再度開きます

rvm --default use 2.2.4

0

FWIW-私もこれに遭遇したばかりで、セレンの実行がキャンセルされた状況でした。おそらく、インスタンス化されて所定の場所に残されたサブシェルがあったでしょう。そのターミナルウィンドウを閉じて新しいウィンドウを開くだけで、作業は完了です。(macOSシエラ)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.