rubyのrailsのgemとbundle構成システムエージェント
1907 ワード
rubyのgemはデフォルトではシステムのエージェントは使用されず、エージェントを使用するたびにパラメータ
gemのエージェントまずgemファイルの場所を見つけて、普通はrubyのインストールディレクトリの下で、例えばC:RailsInstallerRuby 2.3.0bin、もし見つからないならばコマンドラインで命令を使って探すことができて、winの下で その後gemのファイルを開き、winは が見つかります.
begin文の下に
保存してgemを使用してインストールすると、エージェントのパラメータを毎回入力する必要はありません.
bundleのエージェント
railsを使用して新規プロジェクトを作成すると
1つ目の解決策は、タオバオのsourceを構成し、工事のあるディレクトリの下の
第2の解決策は、システム環境変数に
--http-proxy
を追加する必要があり、面倒な感じがして、検索しても良い方法が見つかりませんでした.後でgemのコードを見つけて、rubyを使って書いたので、簡単に修正するとgemのエージェントを永久に設定することができて、毎回エージェントのパラメータを加える必要はありません.gemのエージェント
where gem
で、linuxの下でwhich gem
です.gem.cmd
、linuxはgem
です.次に、ファイルの一番後ろに次のコードbegin
Gem::GemRunner.new.run args
rescue Gem::SystemExitException => e
exit e.exit_code
end
begin文の下に
args += ['--http-proxy','http://x.x.x.x:port']
行を追加し、中のipとポートを自分のものに変えます.gemファイルは以下のように変更されました.begin
args += ['--http-proxy','http://x.x.x.x:port']
Gem::GemRunner.new.run args
rescue Gem::SystemExitException => e
exit e.exit_code
end
保存してgemを使用してインストールすると、エージェントのパラメータを毎回入力する必要はありません.
bundleのエージェント
railsを使用して新規プロジェクトを作成すると
bundle install
が自動的に実行され、エージェントの問題でhttps://rubygems.org
にアクセスできなくなったために失敗する可能性があります.Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
にプロンプトが表示されます.https://rubygems.org
にアクセスできない可能性があります(ブラウザで開いてみてください)、システムエージェントの問題である可能性があります(エージェントを通じてインターネットを利用する必要がある場合は、このためです).1つ目の解決策は、タオバオのsourceを構成し、工事のあるディレクトリの下の
Gemfile
とGemfile.lock
の2つのファイルを見つけ、その中のsourceをhttp://ruby.taobao.org/
に変更することです.第2の解決策は、システム環境変数に
http_proxy
、値http://x.x.x.x:port
を追加することである.winの環境変数は、コントロールパネル->システムとセキュリティ->システム->高度なシステム設定->環境変数で、下のシステム環境変数で新規作成できます.linuxは直接/etc/environmentを修正し、1行http_proxy="http://x.x.x.x:port"
を追加し、保存してsource /etc/environment
を実行すればよい.