2012-08-27 39 views
0

我是RoR的一员,我使用的是Windows安装程序,安装的很好。 问题是当RoR试图跳出http://rubygems.org时,它无法到达那里。在windows上的封闭网络中安装Ruby on Rails

所以我的问题是,我可以在哪里更改信息来源,我可以单独下载这些宝石并将它们放入RoR的源代码目录中?

我很感激任何帮助,我已经打了很多天的头。

+0

您是否使用命令行来安装宝石,或者您的问题是否随着运行Bundler而反过来无法上网? –

回答

2

您可能位于代理之后。尽管您的网页浏览器和其他各种应用程序可能设置为通过代理工作,但RubyGems不是。

如果您知道您的http代理地址和端口,您可以将它作为命令行参数传递给Ruby Gems。

尽管我会建议将您的代理设置为系统变量,但您可能没有该选项,因为我在当前的工作地点也没有该选项。

gem install rails --http-proxy=https://your.proxy.address:portnumber 

关于此信息在RubyGems manual

编辑:

有一种方法可以手动下载和安装gem。这可能很麻烦而且很烦人,但这是可能的。

转至RubyGems.org并使用搜索功能找到所需的宝石。对于这个例子,我将使用Devise。在Devise的页面上有一个下载链接。将宝石和cd下载到该位置。如果将它保存到C:\manual_gems,那么cd C:\manual_gems

Devise的当前版本是2.1.2。所以,一旦你的文件夹中保存的宝石:

gem install devise-2.1.2.gem 

来了繁琐的部分。你会注意到一个错误,说它需要依赖关系。 RubyGems页面还提供了依赖关系列表。在最终能够安装gem之前,您将不得不针对每个依赖关系执行相同的过程。例如,Devise需要守望者,而守护者又需要ActionPack,ActiveSupport,Rack-SSL,Rake,RDoc和Thor(如果你有Rails,你可能已经安装了它)。这是RubyGems和Bundler为您提供的递归之旅。

当所有这些都到位后,您可以在Rails应用程序中修改您的GemFile以指向本地宝石。我没有测试过,但没有关于它提供的解决方案的话题上similar SO question一个公认的答案:

gem 'devise', path: 'path/to/devise' 

再次,繁琐,但如果你真的想要得到一个Rails应用程序启动和运行在一个有限的环境如你所暗示的,这应该可以发挥作用,或者让你顺利进行。

+0

我希望是这样。我无法获得外面的任何东西。 – user1628331

+0

无论如何通过下载它并将其上传到我的服务器来获得RoR所需的内容。然后将RoR指向该位置,以便我可以完成安装? – user1628331

+0

我用手动方式下载了宝石并安装了它们,从而更新了我的答案。 –