Rubyの標準パッケージマネージャ(?)であるRubyGemsでRubyパッケージをインストールする機会が増えてきた。 RubyGemsでインストールする際、ローカル環境に該当パッケージがない場合は、自動的にリモートインストールすると思うんだけど、このとき、プロキシ内にいると外部ネットワークにアクセスできず、
ERROR: While executing gem … (SocketError)
getaddrinfo: no address associated with hostname.
とかエラーが出てインストールできない。
こんなときは-pオプションでプロキシを設定してあげると、インストールできるようになる。
gem install パッケージ名 -r -p http://your.proxy.hostname:port_no
注意すべき点は、下記2点。
- http://…とHTTPを使用することを明示
- :8080のようにプロキシが使用しているポートを明示
-pオプションはRubyGemsのリモート系コマンドの共通オプションで、gem help installなどとするとusageが表示される。毎度プロキシを指定するのが面倒であれば、Windowsの場合(というか他のプラットフォームでRubyを使ったことがないだけです…)、http_proxyという環境変数に上記書式でプロキシを設定しておけば、指定しなくても済むようになる(けど、セキュリティ的にはたぶんよろしくない)。gem install rails -r -p http://43.88.64.10:8080
gem install sqlite3 -r -p http://43.88.64.10:8080
コメント