以前のスレッドに基づいて: RVM installed by Ruby not working? ここで、rootユーザーを使用してRVMをインストールした場合、RVMのインストールを完全に削除する必要がありました。ユーザーとしてインストールしています。
だから私はやった:
今、私はエラーを受け取ります:mkdir:ディレクトリ `/ usr/local/rvm 'を作成できません:権限が拒否されました
私が作成した新しいユーザーには、このディレクトリへのアクセス権がありません。手動でフォルダを作成しようとしましたが、同じエラーが発生しました。助けてください。
編集:端末を再起動せず、古い設定を使用していたため、元の問題が発生しました。
さて、新しい問題が発生しました:RVMをインストールした後、それを実行できず、エラーが発生します:rvmコマンドが見つかりません。
これが私の〜/ .bash_profileの出力です
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a Shell session.
そして、これは〜/ .bashrcファイルからの出力です
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a Shell session.
RVMは簡単にインストールできますが、インストールの種類を組み合わせて一致させることにより、インストールが難しくなります。新しいユーザーを作成する必要はありません。 RVMを実行すると、ホームディレクトリに~/.rvm
というディレクトリが作成され、その中にすべてがインストールされます。つまり、すべての正しい権限が与えられます。 rootで実行する必要はなく、Sudoを使用する必要もありません。すべてのコマンドラインを閉じて1つ新しく開き、ホームディレクトリから開始することをお勧めします。 rootとして実行している場合は、ログアウトして、通常のアカウントに再度ログインします。シングルユーザーインストールの場合、ルートである必要はありません。
シングルユーザーの場合、RVMをRubyサンドボックスとして使用します シングルユーザーインストールドキュメント を使用します。フォロー[〜#〜 ] all [〜#〜]そのページの指示、[〜#〜]含む[〜#〜]「ポストインストール」セクション。
ターミナルウィンドウを閉じて、再度開きます。上記の手順を正しく実行した場合、rvm info
と入力すると、Rubyインスタンスをインストールすると、次のテンプレートが表示されます。何も出力されない場合、またはエラーが発生した場合は、「インストール後」セクションの手順をたどって、「トラブルシューティング」セクションに進んでください。指示を読まなくても問題が発生することがほとんどです。
RVMがインストールされたら、rvm notes
と入力し、インストールする必要がある依存関係を読みます。これらのファイルを追加しないと、インストールされているルビーの機能が失われます。それらは機能しますが、あなたが聞くクリーチャーの快適さのいくつかは機能せず、なぜ不思議に思うでしょう。
依存関係をインストールした後、Rubiesをインストールするための良好な状態になるはずです。 rvm list known
と入力して、Rubies RVMがインストールできるすべての情報を取得します。 1.8.7が必要な場合はrvm install 1.8.7
と入力し、同様にrvm install 1.9.2
for Ruby 1.9.2。特定のリビジョンが必要な場合は、リストにあるもの。
rvm get head
を使用してRVMを定期的に更新することが重要です。これにより、機能が追加され、バグが修正され、RVMにRubyの新しいバージョンが要求された場合にインストールできることが通知されます。
Rubyをインストールした後、rvm list
と入力すると、リストに次のように表示されます。
rvmルビー Ruby-1.8.7-p334 [x86_64] Ruby-1.9.2-p180 [x86_64]
rvm use 1.9.2 --default
と入力して、デフォルトを設定しますRubyログイン間で固定されます。1.9の場合にデフォルトにするデフォルトのRubyのバージョンを使用してください。 2はボートをフロートさせません。デフォルトを定義すると、次のようになります。
rvmルビー Ruby-1.8.7-p334 [x86_64] => Ruby-1.9.2-p180 [x86_64]
RVMで管理されているRubyにgemをインストールする前に、 "RVM and RubyGems" を読んでください。特に、「Sudoを使用しないでください...」と書かれています。繰り返します。ブログやWebページに書かれていることに関わらず、Sudoを使用して宝石をインストールしないでください。 RVMの作者は、RVMで制御されたルビーを操作することについてよく知っています。これも、ユーザーがRVMで使用するもう1つの間違いです。これも、指示を読み取っていないためです。
Mac OSでは、OSに最新バージョンのXCodeが必要です。 Snow Leopardに付属のXCodeをDVDで使用しないでください。バギーです。 Appleの開発者サイト から新しいバージョンをダウンロードしてインストールします。それは無料の登録を必要とする無料のダウンロードです。これは約8 GBの大きなファイルなので、起動して立ち去る必要があります。 XCodeをインストールすると、RVMにRubiesをインストールする準備が整います。
最後に、RVMは簡単にインストールでき、インストールを要求したルビーも同様です。 Mac OS、Ubuntu、CentOSの4つまたは5つの異なるマシンとVMで使用しています。インストールには1分ほど、設定して新しいRubyのインストールを開始するには1分ほどかかります。本当に簡単です。
mkdir:ディレクトリ `/ usr/local/rvm 'を作成できません:権限が拒否されました
以前にrootとしてrvmインストーラーを実行したことがある場合は、/ usr/local/rvmおよび/ etc/rvmrcを削除します。
この質問では、rvmをインストールしようとしたときに「mkdir:ディレクトリ `/ usr/local/rvm 'を作成できません:権限が拒否されました」という問題が報告されました。
これは私のシナリオであり、私がそれをどのように解決したかです-これは同じ問題を持つ他の人を助けるでしょう.
私はラップトップにUbuntu 11.04をインストールしていますが、nathanという名前のユーザーが1人しかいません。 rvmをnathanとしてインストールしようとすると、rvmインストーラーは私をrootとして認識し、rvmをグローバルにインストールしようとし続けましたが、実際にはrootでなかったため、/ usr/local/rvmにディレクトリを作成するためのアクセス権を取得できませんでした。
私はUbuntuの専門家とはほど遠いので、私がやったことを達成するためのより簡単でより良い方法があると確信しています(そして、それらについて学びたいと思います)が、これは私にとってうまくいきました:
Rubydevとしてログインし、ターミナルを開いて次のように入力しました。
rubydev~$ bash < <(curl -B http://rvm.beginrescueend.com/install/rvm)
rvmが正しくインストールされ、rubydevからログアウトした
ルートを取得した後、次のコマンドを入力しました。
root: /home/nathan# cp -R /home/rubydev/.rvm .
root: /home/nathan# chown -R nathan .rvm
root: /home/nathan# chgrp -R nathan .rvm
root: /home/nathan# exit
nathan~$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
nathan~$ echo 'export rvm_path="/home/nathan/.rvm"' > ~/.rvmrc
nathan~$ source .bash_profile
この時点で、rvmはホームディレクトリに正しくインストールされました。入力したことを確認するには:
nathan~$ type rvm | head -1
rvm is a function (if you don't get this response, something else is wrong)
ノートを読み、依存関係をインストールしました
nathan~$ rvm notes
ルビーをいくつかインストールしました
nathan~$ rvm install 1.8.7-head
nathan~$ rvm install 1.9.2-head
検証済みインストール
nathan~$ rvm list
rvm rubies
Ruby-1.8.7-head [x86_64]
Ruby-1.9.2-head [x86_64]
nathan~$ rvm use 1.9.2
using /home/nathan/.rvm/gems/Ruby-1.9.2-head
nathan~$ rvm list
rvm rubies
Ruby-1.8.7-head [x86_x64]
=> Ruby-1.9.2-head [x86_x64]
最後に、ターミナル自体の設定を編集して、[タイトルとコマンド]タブの[ログインシェルとしてコマンドを実行]がオンになっていることを確認します。 .bash_profileは他の方法では処理されないようです。
手順1で作成したrubydevユーザーを削除しました。
以上のことで、Ubuntu 11.04の下で好みのユーザー名を使用してrvmが機能しています。
最初にRVMをrootとしてインストールしてからアンインストールした場合。そして今、あなたはそれを非Sudoユーザーとしてインストールしようとしていて、次のエラーが発生しています:
mkdir: cannot create directory `/usr/local/rvm': Permission denied
ユーザーの下でインストールを試みる前に、ルートセッションからログアウトしていることを確認してください。
私はこれを追加して解決しました
export rvm_path=~/.rvm
〜/ .bash_profileに
同じ問題がありました。ジェムセットを作成しようとすると、権限拒否エラーが発生しました。最初に「rvm use 1.8.7」コマンドを実行するのを忘れました。その後、問題なく宝石セットを作成して使用することができました。
/ etcディレクトリの下でファイルrvm.shを探します(/ etcまたは/etc/init.dにある場合があります)。また、いくつかのgrep rvm/etc -rを試してください。これにより、$ HOMEディレクトリにrvmをインストールできないファイル/行を見つけることができます。
RVMをユーザーとしてインストールする場合は、RVMフォルダーをホームディレクトリに生成する必要があります。
~/.rvm
アクセス許可の問題がまったくない場所。
私はそれがあなたのシステムインストールから残っているいくつかの古い設定をピックアップしていることをお勧めします。
/ etc/rvmrcまたは$ HOME/.rvmrcファイルが残っていないことを確認してください。これらのファイルから以前に初期化された変数を使用して、誤ったインストールパスを構築している可能性があるためです。
bashスクリプトのこのセクションを見ると:
if [[ ${rvm_ignore_rvmrc:-0} -eq 0 ]]; then
for file in /etc/rvmrc "$HOME/.rvmrc " ; do
if [[ -s "$file" ]] ; then
source $file
fi
done
fi
これらのファイルの1つを見つけようとしています。もしそれが実行された場合、rvm_pathを初期化する可能性があります。このコマンドでは、その後、$ HOME/.rvmとして設定されません。
rvm_path="${rvm_path:-"$HOME/.rvm"}"
私のために
__rvm_unload
最初に動作したのは、マルチユーザーの場合と同じようにrvmがインストールされているためです。
最後のバージョンのrvmでは、/ etc/profile.d /も削除する必要があります。
これは、rootとしてインストールしてから、通常のユーザーとして再試行した場合によく発生します。
この助けを願っています。
スコット・バーテルの解決策は私にとってうまくいきました。私はDigital Oceanの既製の画像を使用しています。彼らはすでにrootとしてrvmを設定しています。 1./etc/rvmrcを削除しました。 2. export rvm_path =〜/ .rvmを〜/ .bash_profileに追加3.仮想マシンへのsshセッションからログアウト4.ログインして再度ログイン
コメントしたはずですが、担当者は3ポイント低すぎます:)
Rootとしてrvmをインストールしていて、権限拒否の問題が発生している場合(おそらくroot以外のユーザーとしてcapistranoを使用してデプロイしている場合)、rvm fix-permissions
などをrootとして実行し、gemsetを作成した後、rvm install 2.2.2
を試すことができます。ルートとして。