【发布时间】:2017-05-15 16:50:42
【问题描述】:
我需要在目前无法访问互联网的系统中安装 ruby、gem、Ruby on Rails 和其他一些 gem。但是,我将在几天内获得访问几个真正需要的 URL 的权限。我需要为这些 URL 提出防火墙请求。请帮助提供网址列表。
【问题讨论】:
-
您可以下载 gems 并指定目录进行安装。
标签: ruby-on-rails ruby rubygems
我需要在目前无法访问互联网的系统中安装 ruby、gem、Ruby on Rails 和其他一些 gem。但是,我将在几天内获得访问几个真正需要的 URL 的权限。我需要为这些 URL 提出防火墙请求。请帮助提供网址列表。
【问题讨论】:
标签: ruby-on-rails ruby rubygems
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.org 和 packages.ubuntu.com
如果您可以通过 SSH 访问 github.com,则可以安装大多数包/gems/依赖项。或者您可以尝试将所需的软件包安装到具有完全互联网访问权限的系统,然后将它们导出到所需的系统。
如果防火墙背后的人不够聪明,您可以使用 Http 代理。或者VPN是#coreyward建议的唯一出路
【讨论】:
cat /etc/*-release 来获取您的 Linux 发行版名称、版本等详细信息。
您可以使用 VPN 或 HTTP 代理并将其列入白名单,而不是尝试将单个域(或更糟的是文档/页面/网址)列入白名单。这将允许您获取必要的文件、更新、gem 等,而无需提前识别它们。
【讨论】:
你可以找到很多宝石here。但是,您可以将 gems 托管到组织本地,也可以从他们的 github 存储库安装它们。
但是,一旦您安装了 gem,它们就会本地存储在您的系统中,您可以在没有互联网连接的情况下从那里访问 gem。 当您进行捆绑安装时,首先会在您的本地 gem 中搜索(除非另有说明),如果没有找到它,它会在远程位置查找它。 查看此答案以了解宝石通常存储在本地的位置。 Where does bundler store gems?
【讨论】: