∞RVM FAQ & Notes
∞RVMにバグを見つけました。問題を報告したり、修正するためのパッチを提出するにはどうすればよいですか?
RVMに対するバグを報告するには、https://github.com/rvm/rvm/issues/ にアクセスして、Issueを作成してください。既存のレポートをすべて読んでください! 問題がすでに調査中であるか、すでに解決されている場合があります。同じ問題について新しいレポートを開くと、時間とリソースの浪費になり、レポートが即座に閉じられる可能性があります。バグレポートに関連する補足資料を保存してファイルするには、https://gist.github.com を使用してください。レポートに返されたhttps(gitではない)URLを含めてください。以下を提供してください。
rvm info
からの出力- gemsetを使用している場合は、
gem list -dl
からの出力 - 実行されたすべてのコマンド、エラー/出力、およびRVMが確認を指示するログファイルの内容。
- 次のトレース/デバッグコマンドの完全な出力。
set -x ; rvm --trace your_commands_here ; set +x
を使用して、作業するための最大限の情報を提供してください。これらは、サポートできるようにするために、Issue/バグレポートに含める必要があります。
∞シェルログインの意味('bash -l')
こちらやこちらのように、10年前の動作を説明するサイトがありますが、現在の動作を確認するために読んでください。
- システムにグラフィカルにログインすると、
~/.profile
が読み込まれるため、グラフィカルアプリケーションにとって重要なLANG
のような設定をそこに配置します。 - ターミナルを開くと(Gnome-terminalとScreenを除く)、
~/.bash_profile
をソースするlogin
シェルが開きます。 ssh server command
やscp file server:~
、sudo
(-iなし)、su
(-lなし)のように、ログインシェルではないシェルでコマンドを実行すると、~/.bashrc
が実行されます。~/.bashrc
はログイン以外の呼び出しを目的としており、出力は印刷しないでください。scp
のようなツールが失敗します。- ユーザーのシェルが
/bin/sh
に設定されている場合は、/etc/passwd
を編集して/bin/bash
に設定する必要があります。
環境変数を~/.bashrc
に配置するのは良いアイデアです。これは、スクリプト(ssh server script
用)で依存するものです。
次に、システムがデフォルトで/etc/profile
を介して~/.bashrc
をソースしない場合は、~/.bash_profile
ファイルでそれをソースする必要があります。これにより、ログインシェルは非ログインセッションと同じ環境にもアクセスできるようになります。
RVMはデフォルトで現在~/.bash_profile
ファイルに追加されており、Gnome-terminal(およびscreen)でログインシェルを有効にすることが推奨される方法です。
設定ファイルを自動的に修正するには、以下を実行します。
rvm get [head|stable] --auto-dotfiles
∞RVM Webサイトに誤った情報があることに気づきました。パッチまたはIssueを提出するにはどうすればよいですか?
rvm-siteを自由にフォークして、誤りだと思うものを修正してください。その後、プルリクエストを送信してください。上記を快適に実行できるかどうかに関係なく、Issue Trackerに、現在のエラーとあなたが考えている変更点を記述して、Issueを提出してください。プルリクエストを作成した場合は、IssueにURLを記載してください。
∞gemでsudoを使用する必要がありますか?
いいえ。RVMで管理されたrubygemsにsudoを使用しないでください。詳細な説明が必要な場合は、rubygemsページを参照してください。
∞rootとしてgemをインストールしますか?
いいえ。詳細な説明が必要な場合は、rubygemsページを参照してください。
∞RVMが見つからないか、RVMで選択されたデフォルトのrubyが新しいシェルに設定されていません...
RVMはプロファイルファイルの最後に含める必要があります。そうしないと、設定(例:PATH)が上書きされます。これをPATHに含めるには、インストール手順を参照してください。
∞RVMはWindowsで動作しますか? 将来動作しますか?
いいえ。Windowsで複数のバージョンのrubyを管理する場合は、Gordon Thiesfeldによる優れたツールであるpikを使用してください。 GitHubで入手できます。 RVM 2.0にWindowsサポートを含める計画があります => https://www.bountysource.com/fundraisers/489-rvm-2-0。
∞スペースを含むパスを使用できますか?
現在、パス内のスペースはサポートされていません。パッチは大歓迎です:)
∞デフォルトのrubyを設定するにはどうすればよいですか?
デフォルトのrubyの設定はこちらで説明されています。
∞デフォルトとは何ですか?
デフォルトのインタープリターは「ruby」です。各rubyインタープリターのデフォルトバージョンは~/.rvm/config/dbに設定されており、ユーザーは~/.rvm/config/userで上書きできます。
∞Ruby Gemsはどこに保存されていますか?
- インストールされたすべてのrubyインタープリターとバージョン用のRuby Gemは、完全に分離して保存されます。
- Gemは~/.rvm/gems/$ruby_stringにあります。
- GemはGem Setsを使用してさらに分離できます。
- gemsetを使用するgemディレクトリの形式は、~/.rvm/gems/$ruby_string@gemset_nameです。
∞すべてどこにインストールされますか?
RVMはすべてを~/.rvmにインストールします。システムからRVMを削除するには、rm -rf ~/.rvm
を実行します。~/.rvmrcに追加の構成ファイルが1つあり、もちろんbash/zshスタートアップファイルにRVMフックがあります。
∞RVMをインストールした後、gemは必要ですか?
いいえ。gemは配布にのみ使用されます。githubリポジトリをクローンして./installを実行することもできます。インストール後、Gemは不要になり、安全に削除できます。ただし、RVM Ruby APIを使用している場合は除きます。その場合、gemの使用は役立つ可能性がありますが、~/.rvm/lib/からロードすることもできるため、必須ではありません。
∞私のrubyは32ビットとしてコンパイルされていますが、私は64ビットであると大々的に宣伝されているMac OS X Snow Leopardを使用しています!!!
RVMは、現在の実行中のカーネルのアーキテクチャにコンパイルします。これは、カーネルが32ビットカーネル(uname -m)として実行されている場合、32ビットをコンパイルすることを意味します。rubyインタープリターをインストールする前に、~/.rvmrcに次を配置することで、この動作を上書きできます。
rvm_archflags="-arch x86_64"
∞Gemfileのruby
メソッドを使用して本番環境のrubyバージョンを選択しています。開発用に別のrubyバージョンを使用するにはどうすればよいですか?
開発に使用するRubyのバージョンを使用して、プロジェクトディレクトリに.ruby-version(またはスクリプトが必要な場合は.rvmrc)ファイルを配置します。
.ruby-versionファイルは、Gemfileよりも優先度が高くなりますが、.rvmrcファイルよりも優先度は低く、Herokuを使用している場合は無視されます。
.ruby-versionファイルには、特定のrubyバージョンを含めることも、現在選択されているrubyバージョンを使用するために空のままにすることもできます。
∞root専用にインストールしたい!
root専用にインストールする場合は、ユーザーごとのインストールを使用して、インストールを試みる前に、rootの$HOME/.rvmrcに次のものを事前設定する必要があります。
echo 'export rvm_prefix="$HOME"' > /root/.rvmrc echo 'export rvm_path="$HOME/.rvm"' >> /root/.rvmrc
rootがインストールを実行している場合、Multi-Userインストールタイプである必要があり、RVMは/usr/local/rvmに移動する必要があると想定するチェックをオーバーライドします。これは、これらのすべての要因を組み合わせることで、rootユーザー専用のPer-Userインストールタイプになるため、sudoを使用する必要もなくなります。
これは、一般的な、または一般的にサポートされているインストールタイプではありません。