Rubyが実行されるたびに、Rubyのロードパスに自動的に追加したいカスタムRubyライブラリディレクトリがあります。-を使用できることはわかっています。 Rubyを選択しましたが、Rubyのロードパスをグローバルに決定する設定可能な環境変数のようなものがあるかどうか疑問に思っています。
余談ですが、私の高レベルのタスクは、rootがないLinuxボックスにRuby Gemsをインストールすることです。したがって、Ruby非標準の場所にパスをロードします。 http://rubygems.org/read/chapter/3#page8 ( "ユーザーディレクトリへのRubyGemsのインストール")の指示に従ってRubyGemsをインストールしました。 、しかし、gemコマンドは非標準のロードパスを取得していません。ここで明らかな何かが欠けていて、自分にとって物事を難しくしているのではないでしょうか。
つるはしの本の Ruby and its world の章、特に環境変数のセクションを試してみてください。抜粋:
RUBYLIB
Additional search path for Ruby programs ($SAFE must be 0).
DLN_LIBRARY_PATH
Search path for dynamically loaded modules.
RUBYLIB_PREFIX
(Windows only) Mangle the RUBYLIB search path by adding this
prefix to each component.
bin
コマンドが機能するように、インストールされたgem
ディレクトリを$PATH
に配置したことを確認してください。 RUBYLIB
自体を変更する必要がありますが、そうでない場合は、 Martinの回答 を試して修正してください。
次に、gemホーム(rubygemsがインストールするgemが保存されている場所)をローカルにすることができます。
$GEM_HOME
を使用して(または~/.gemrc
に設定して)、すべてがgem environment
で行われたことを確認してください。
%mkdir〜/.gems %export GEM_HOME =〜/ .gems %gem help environment 使用法:gem environment [arg] [options] 一般的なオプション: -h、-helpこのコマンドのヘルプを取得する -V、-[no-] verbose詳細を設定する出力レベル -q、-quietSilenceコマンド -config-fileFILEデフォルトの代わりにこの構成ファイルを使用します -backtraceエラー時にスタックバックトレースを表示します -debugオンRubyデバッグ 引数: packageversionはパッケージバージョンを表示します gemdirはgemがインストールされているパスを表示します gemの検索に使用されるgempath表示パス バージョンはgemフォーマットバージョンを表示します remotesourcesはリモートgemサーバーを表示します 要約: RubyGems環境に関する情報を表示する 説明: RubyGems環境はコマンドライン引数で制御できます。 gemrcファイル、環境変数、および組み込みのデフォルト。 コマンドライン引数のデフォルトと一部のRubyGemsのデフォルトは 〜/ .gemrcファイルで個々のユーザーと/ etcに設定できます。すべてのユーザーの/ gemrc。 gemrc は、次のYAMLキーを持つYAMLファイルです: :sources: からgemをインストールするためのリモートgemリポジトリのYAML配列:verbose:Verbosity gemコマンドの。 false、true、および:reallyは レベルです :update_sources:リポジトリメタデータの自動更新を有効/無効にします :backtrace:RubyGemsでエラーが発生したときにバックトレースを出力します :bulk_threshold:この数のソースが 日付(レガシー設定) :gempath:gemを検索するパス gem_command:A指定されたgemコマンドの引数を含む文字列 例: :verbose:false install:-no-wrappers 更新:-no-wrappers RubyGemsのデフォルトのローカルリポジトリは、GEM_PATHおよび GEM_HOME環境変数でオーバーライドできます。 GEM_HOMEは、デフォルトのリポジトリを インストール先に設定します。 GEM_PATHを使用すると、複数のローカルリポジトリで gemを検索できます プロキシサーバーの背後にいる場合、RubyGemsはHTTP_PROXY、 HTTP_PROXY_USERを使用します プロキシサーバーを検出するためのHTTP_PROXY_PASS環境変数。 RubyGemsをパッケージ化する場合、RubyGemsのデフォルトはすべて lib/rubygems /defaults.rbにあります。これらは lib/rubygems/defaults/Operating_system.rb でオーバーライドできます。
生活を楽にしてインストール [〜#〜] rvm [〜#〜] 。それはあなたが望むどんなバージョンのRubyをインストールし、それらを切り替えることができ、rootアクセスを必要としません。それはあなたがしばらくそれを使用した後に中毒になる他の多くのキラー機能を持っています。
ありがとうございました! @ MartinCarpenterのソリューション を使用して、 minitest で特定/特定/単一のテストメソッドを実行しました。通常、test
ディレクトリを$LOAD_PATH
に Rake :: TestTask で追加します。たとえば、t.libs << 'test'
の場合、コマンドラインで追加できました。 、 そのようです:
RUBYLIB=test Ruby test/user_test.rb --name test_create
$LOAD_PATH
がuser_test.rb
を呼び出してrequire 'test_helper'
をロードするため、test
をlib/test_helper.rb
に追加します。