我是RoR的一员,我使用了Windows安装程序并安装得很好。 问题是当RoR试图离开http://rubygems.org时,它无法到达那里。
所以我的问题是我在哪里可以更改它所提供信息的位置,我可以单独下载这些宝石并将它们放入RoR的源目录中吗?
我感谢任何帮助,我已经在这方面打了几天。
答案 0 :(得分:2)
你可能在代理人后面。虽然您的Web浏览器和其他各种应用程序可能已设置为通过代理工作,但RubyGems不是。
如果您知道自己的http代理地址和端口,可以将其作为命令行参数传递给Ruby Gems。
虽然我建议您将代理设置为系统变量,但您可能没有这个选项,因为我目前的工作地点也没有这个选项。
gem install rails --http-proxy=https://your.proxy.address:portnumber
有关此问题的信息,请访问RubyGems manual。
编辑:
有一种手动下载和安装gem的方法。它可能很麻烦,但很有可能。
转到RubyGems.org并使用搜索功能查找所需的宝石。对于这个例子,我将使用Devise。在Devise页面上有一个下载链接。将gem和cd
下载到该位置。如果您将其保存到C:\manual_gems
,那么cd C:\manual_gems
。
当前版本的Devise是2.1.2。因此,一旦您进入文件夹,您就将gem保存到:
gem install devise-2.1.2.gem
这是一个繁琐的部分。你会发现一个错误,说它需要依赖。 RubyGems页面还提供了依赖项列表。在最终能够安装gem之前,您必须对每个依赖项执行相同的过程。
例如,Devise需要Warden,而Warden又需要ActionPack,ActiveSupport,Rack-SSL,Rake,RDoc和Thor(如果你有Rails,你可能已经安装了它)。这是RubyGems和Bundler为您提供的递归之旅。
当所有这些都到位后,您可以在Rails应用程序中修改GemFile以指向本地宝石。我还没有对它进行过测试,但有一个关于该主题的similar SO question已经接受的答案提供了以下解决方案:
gem 'devise', path: 'path/to/devise'
同样,繁琐但是如果你真的想要在一个有限的环境中运行Rails应用程序,比如你所暗示的那样,这应该可以正常工作或者让你顺利。