ruby-on-rails - rubygems.org 的任何官方镜像?

标签 ruby-on-rails ruby bundler

由于连接到 ruby​​gems.org 的错误,我最近在部署应用程序时遇到了麻烦,例如:

Fetching gem metadata from http://rubygems.org/
Error Bundler::HTTPError during request to dependency API
Fetching full source index from http://rubygems.org/
Unfortunately, a fatal error has occurred. Please see the Bundler
troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!                                                                        

~/.rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/net/http.rb:762:in `initialize'
Connection timed out - connect(2)
Errno::ETIMEDOUT

gems 系统很棒,但我认为它是单一故障点,当它不可用时,您无法获得最新的补丁等。Debian 存储库网络庞大,可以根据地理位置选择镜像. gem 有类似的东西吗?如果有镜像,我怎么能确定那里的包没有受到损害? (最近也发生在 ruby​​gems.org 上)

另一件事,当我有一个 gems 的本地副本时, bundler 可以将它们直接传输到服务器而无需从 ruby​​gems.org 获取吗?它可能会减少服务器的负载,而且确保您的部署可以随时运行(我知道,我可以将 gems 检查到我的 git 存储库中,但我不喜欢这样做)。

最佳答案

可能有 Rubygems.org 的镜像,但我没试过,不知道他们是否有所有的 gems。 但是在您的 Gemfile 中有一个名为 source 的声明,您可以在其中告诉 Bundler 查看不同的镜像。

但是有一个 gem 可以将所有 gem 镜像到您的本地系统,称为 rubygems-mirror

您可以通过 Bundler :path 命令在本地将某些 gem 安装到您的 git 中。 所以如果你想拥有一个本地副本让我们说设计你可以做

gem 'devise', :path => 'vendor/devise'

然后您将设计存储库克隆到您的 vendor/devise 文件夹中并将其提交给 Git。

如果您尝试对所有 Gems 执行此操作,它会很快变得非常无聊,因为有许多 Gems 仅涉及 Rails 本身。您可以为此查看 RVM Gemsets,并且 bundler 有一种方法可以获取所有 gem 并将它们与您的应用程序 bundle 在一起(抱歉,您必须查阅文档以获取更多信息,因为我还不需要它)

关于ruby-on-rails - rubygems.org 的任何官方镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14873083/

相关文章:

javascript - 如何将 Ruby 数组传递给 Javascript 以制作折线图

ruby-on-rails - 使用find_by_id获取RSpec中不存在的记录时引发RecordNotFound

ruby-on-rails - 无法使用 Clockwork 启动 clock.rb 模块 - 来自 activesupport 的未定义方法

rubygems - 删除 bundle 程序安装时的 'Cleaning all the gems on your system is dangerous!' 消息

ruby-on-rails - 使用从同一存储库 bundle 的 gem 管理 Gemfile.lock

ruby-on-rails - Gemfile 被加载两次。为什么?我该如何阻止它?

ruby-on-rails - 如何将参数从我的新方法传递到 Rails 中的创建方法?

ruby-on-rails - 如何在 View 中获取模型的 per_page 编号?

ruby-on-rails - heroku 上的 Rails : after push, 得到 "PG::UniqueViolation: ERROR: duplicate key value violates unique constraint"

css - sass --watch 编码问题