dig*_*tum 7 ruby firewall rubygems jruby
我怀疑企业防火墙阻止了宝石的安装.我定义了HTTP_PROXY,我可以通过以下命令查看远程gems:
jruby -S gem list -r
Run Code Online (Sandbox Code Playgroud)
但是当我去安装宝石时,我得到了404:
jruby -S gem install rails
Run Code Online (Sandbox Code Playgroud)
除了维护内部gem存储库之外,还有解决此问题的好方法吗?
对于红宝石宝石,把它放在我的gem.bat中这对我有用
@"%~dp0ruby.exe" "%~dpn0" %* --http-proxy http://domainname.ccc.com:8080
Run Code Online (Sandbox Code Playgroud)
对于jruby宝石,这是有效的
@"%~dp0jruby.exe" "%~dpn0" %* -p http://domainname.ccc.com:8080
Run Code Online (Sandbox Code Playgroud)
同样设置环境变量就像
set http-proxy=http://domainname.ccc.com:8080
Run Code Online (Sandbox Code Playgroud)
或者您的代理服务器需要身份验证
set http-proxy=http://user:password@host:port)
Run Code Online (Sandbox Code Playgroud)
编辑:对于拥有非常严格的防火墙或没有互联网访问权限的人(例如在服务器上),您可以执行以下操作:在可以免费访问互联网的PC上安装gem,然后检查文件夹C:\ Ruby193\lib\ruby\gems\1.9.1\cache并复制所有宝石,其中包含您安装完成后最后修改的日期.在目标PC上,您将它们复制到同一文件夹中,或者如果您之后在bin文件夹中清理并在那里开始安装
c:\ruby193\bin\gem.bat install --local gemname-x.x.x.gem
Run Code Online (Sandbox Code Playgroud)
gemname-xxxgem是您要安装的基本gem的gem文件名.应该安装具有所有依赖项的gem.这适用于Windows,但其他操作系统可以使用相同的技术,只需适应一些事情.成功