【问题标题】:what are the URLs ruby gem tries to reach to install gemsruby gem 尝试访问哪些 URL 来安装 gem
【发布时间】:2017-05-15 16:50:42
【问题描述】:

我需要在目前无法访问互联网的系统中安装 ruby​​、gem、Ruby on Rails 和其他一些 gem。但是,我将在几天内获得访问几个真正需要的 URL 的权限。我需要为这些 URL 提出防火墙请求。请帮助提供网址列表。

【问题讨论】:

  • 您可以下载 gems 并指定目录进行安装。

标签: ruby-on-rails ruby rubygems


【解决方案1】:

RubyGems.org 是 Ruby 社区的 gem 托管服务。

如果可以使用“gem install”命令安装 gem,这意味着 gem 在 RubyGems.org 上可用。几乎所有有用的宝石都可以在这里找到。

如果您想要某些未在 RubyGems.org 上发布的特定 gem,那么您必须将指向该特定 gem 的 github 存储库的 URL 列入白名单。

例如,如果 RubyGems.org 上没有 gem 'xyz',则将其列入白名单

https://github.com/user_name/xyz.git 用于 HTTPS

git@github.com:user_name/xyz.git

对于 SSH。

对于 Ruby、Rails 和依赖项安装,您需要使用这些 url:

ruby-lang.org => 如果你打算使用源码安装 ruby​​

rvm.io => 使用 rvm 安装,或者更好的选择是使用 rbenv。

nodesource.com => 用于安装 node.js

休息取决于您的操作系统。如果使用 debian 或 Ubuntu,您必须加入白名单:

packages.debian.orgpackages.ubuntu.com

如果您可以通过 SSH 访问 github.com,则可以安装大多数包/gems/依赖项。或者您可以尝试将所需的软件包安装到具有完全互联网访问权限的系统,然后将它们导出到所需的系统。

如果防火墙背后的人不够聪明,您可以使用 Http 代理。或者VPN是#coreyward建议的唯一出路

【讨论】:

  • 注意:他还需要安装 Ruby 及其所有依赖项,这取决于他所在的系统/操作系统。构建工具?包管理器?
  • 我在 Linux 操作系统上。
  • Linux 的什么变种?如果 Ubuntu/debian 我已经给出了软件包的 url。注意:您可以通过在 shell/终端中输入 cat /etc/*-release 来获取您的 Linux 发行版名称、版本等详细信息。
【解决方案2】:

您可以使用 VPN 或 HTTP 代理并将其列入白名单,而不是尝试将单个域(或更糟的是文档/页面/网址)列入白名单。这将允许您获取必要的文件、更新、gem 等,而无需提前识别它们。

【讨论】:

    【解决方案3】:

    你可以找到很多宝石here。但是,您可以将 gems 托管到组织本地,也可以从他们的 github 存储库安装它们。

    但是,一旦您安装了 gem,它们就会本地存储在您的系统中,您可以在没有互联网连接的情况下从那里访问 gem。 当您进行捆绑安装时,首先会在您的本地 gem 中搜索(除非另有说明),如果没有找到它,它会在远程位置查找它。 查看此答案以了解宝石通常存储在本地的位置。 Where does bundler store gems?

    【讨论】:

      猜你喜欢
      • 2014-08-11
      • 1970-01-01
      • 2012-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      相关资源
      最近更新 更多