web-dev-qa-db-ja.com

rvmのインストールが機能しない: "RVMは機能ではありません"

RVMをインストールしたばかりですが、動作させることができません。 .profileファイルの最後にそのような行があります。

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

source .profileを実行してターミナルを再起動しようとしましたが、それでもrvm use 1.9.2を実行すると次のようになります。

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

私のシステムはUbuntu 11.10です。

225
amorfis

ログインシェルを使用していません。

ログインフラグを有効にするプロセスは here で説明されています。また、ログインシェルの詳細については here を参照してください。

したがって、Gnome端末の設定でオプション "ログインシェルとして実行"を確認する必要があります。このフラグを設定した後、新しいターミナルを開く必要があります。

コマンドを/bin/bash --loginに設定する必要がある場合があります。


remote接続の場合、インタラクティブsshセッションの実行と単一コマンドの実行の違いを理解することが重要です。

ssh serverを実行し、サーバーと対話的に作業している間は、デフォルトでログインシェルを使用しますが、問題ありませんが、ssh server "command"にはログインシェルを使用せず、ssh server 'bash -lc "command"'

リモート呼び出しには、sshを指定して単一のコマンドを実行する場合と同じ問題が発生する可能性があります。

229
mpapis

以下を実行する必要があります。

$ source ~/.rvm/scripts/rvm

それからこれを動かしなさい

$ type rvm | head -n 1

そしてあなたが得るなら

rvm is a function

問題は解決しました。

オペレーティングシステムの依存関係の要件を確認するには、user$ rvm requirementsを実行する必要もあります。

出典: https://rvm.io/rvm/install/

私はあなたがこのコードをあなたの〜/ .bashrcまたは〜/ .zshrcファイルに入れる必要があることを忘れています、そしてあなたはこのコードを再び書く必要はないでしょう。乾杯!

419
Jorge García

これを永久的に解決するには、次の行をカットアンドペーストするだけです。

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

投稿者:~/.bash_profileファイル

~/.bashrcファイル

これがうまくいく理由は、端末に入るたびに.bashrcが実行され、ログインするたびに.bash_profileが実行されるからです。それが/bin/bash --loginという解決策が働く理由です、しかしあなたがterminalに入るたびにそれをしなければなりません。このようにして、あなたはあなたの次のフォーマットまで設定されます、そしてあなたはその時までにすべてこれを忘れるでしょう:)

101
Haris Krajina

私もこの問題に直面しました。最後に私は端末でこの行を実行しました。

source ~/.rvm/scripts/rvm

問題は解決しました。この行はRVMインスタンスを特定の期間の関数にするためです。

29
Bastin Robin

最新のRVM(rvm 1.11.6(stable))がUbuntuで動作しなくなりました(10.10 - 64 bit - オタクgnatかなんでも) -

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

以前、私はメッセージを受け取りました、しかし 'rvm 1.9.3-p0@Rails321'はうまくいくでしょう。今、それはうまくいきません - あなたはgemsetsをまったく変更することができませんでした。

これが見つかるまで、何も機能しませんでした - これを/home/your-name/.bashrcの最後の行にします

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

21
Rod McLaughlin

あなたが言ったように、示されたエラーは以下のものであるかもしれません。

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.

上で述べたように、(端末を再起動した後)端末に '/ bin/bash --login'と入力し、(例えば)rvm use 1.9.3と入力すると同じバージョンを使い始めてください。

RVMが最新バージョンのRubyを使用していることを確認するために 'Ruby -v'コマンドを実行するだけです。

9

私は新しいrvmのインストールでもこの​​問題を抱えていた、そしてここの答えのどれもがそれを修正した。公式のrvmサイトのbasicsセクションに行くと、このコマンドがあります。

#from http://rvm.io/rvm/basics

source $(rvm 1.9.3 do rvm env --path)

あなたが本当に欲しいRubyバージョンのために1.9.3を変えるべきです、そしてそれはシェルタイプに関係なくrvmを機能にするでしょう。

8
vcanales

たぶんあなたは以下を試すことができます:

  • あなたの端末 - >
  • 編集 - >
  • プロファイル設定 - >
  • タイトルとコマンド - >
  • 「ログインシェルとしてコマンドを実行する」を確認してください。
  • 完了
7
Feuda

bash --loginを実行してからrvm use 2.0.0を実行します。

6
Gowri Tumma

あなたが答えを受け入れたとしても、私は別の方法を提案したいと思います。シェルが開かれる前に〜/ .bashrcがロードされます。その最後にその行を追加すれば、そのログインシェルのものは必要ありません。

6
kapv89

上記の答えはすべて有効です。しかし、私が同じ問題に直面したとき、解決策は次のとおりでした:

  • ZSHを更新します。 (なんらかの理由で直接アップデートしようとしませんでした。 here からアップデート版をアンインストールして再インストールしました)
  • デフォルトのシェルを zsh (つまり、zshを好む場合)Sudo chsh -s $(which zsh) $USERを使用して
  • おそらく 公式RVMサイト からCURLを使用して最新のRVMをインストールした後、次のコードが.zshrcの下部にあることを確認してください

    [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
    source ~/.profile
    
  • 最も重要なポイント:.zshrcファイルで、PATHへのすべてのエクスポートに:$PATHが追加されていることを確認してください。上記の手順を実行した後でも、これが私の問題の原因だと思います。

  • このすべての私の問題を投稿 RVMは機能ではない 去りました。それでも動作しない場合は、ここでエラートレースを提供します。この問題を解決するために数時間苦労した後、私はすべての関連するエラーを見たに違いないと確信しています。

それが役に立てば幸い。乾杯!

4
Vishnu Narang

ターミナルを開き、編集>プロファイル設定に移動してから、タブ--- タイトルとコマンドに移動して確認しますログインシェルとしてコマンドを実行 "。

Bashを起動すると、Sudoを使用せずに端末から直接Gemsをインストールできます。エラー "RVMは機能ではありません。 'rvm use ...'でルビを選択すると機能しません。 「排除されます。

乾杯。

4
ajknzhol

Mac OSX 10.8 Mountain LionにRuby 1.9.3-p125をインストールするための手順

  1. 最新のXCode(> = 4.3)とコマンドラインObjective-Cコンパイラ "clang"はすでにインストールされています。
  2. この手順を実行するには、 "bash"シェルを実行する必要があります。
  3. システム環境設定に行く
  4. 「ユーザーとグループ」をクリックしてください。
  5. パネルの左下にある錠前をクリックし、パスワードを入力してロックを解除します。
  6. パネルの左ペインにあるユーザーアイコンを[Ctrl]を押しながらクリックし、[詳細オプション]をクリックします。
  7. ログインシェルを "/ bin/bash"に変更します。
  8. 設定を閉じる
  9. 端末ウィンドウを開く(command +スペースバーを押して "terminal"と入力する)
  10. 以下の指示に従ってください。

http://www.frederico-araujo.com/2011/07/30/install-Rails-on-os-x-lion-with-homebrew-rvm-and-mysql/

ノート:

  • Rubyをインストールするには、clangコンパイラを指定する必要があるかもしれません。

    $ rvm install 1.9.3p125 --with-gcc = clang

  • RVMが/ usr/local/rvmについて不満を感じている場合は、リンクを作成する必要があります。

    $ ln -s/Users/[あなたのユーザー名] /。rvm/usr/local/rvm

3
George Campbell
source ~/.bash_profile

...トリックを実行する必要があります...、おそらくログアウトして再度ログインする必要があります。

コマンドラインから.bash_profileをリロードするには?

2
user1800885

"公式"の指示があります。 https://rvm.io/integration/gnome-terminal/

1
Sidhannowe

同じエラーがありましたが、このページの解決策はどれもうまくいかないようでした。私にとっては、rvm実行可能ファイルをパスに追加すれば十分です。

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

Et voila!

0

Apt-getコマンドで古いrvmバージョンのRuby-rvmをインストールしたことがあるので、同じエラーになります。

私は、.bashrcファイルで古いrvmを設定するためにスクリプト行を削除することによって問題を解決しました。

古いrvm configスクリプトを確認してから、source .profileを実行してください。

0
ryancheung

同じ問題があり、私のように彼らがlubuntuを使っている人のために、私はこれに従った link

あなたはあなたの端末をで起動します

lxterminal -e "bash -il"

正しい方向を教えてくれた@mpapsisに感謝します

0
nizzin

この行を.bash_profileに追加して修正しました。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
0

私は同じ問題を抱えていました、そして私は私の.bash_profileでこれをしました、そして、それはうまくいきました。 source "$HOME/.rvm/scripts/rvm"

0
Sadiksha Gautam