2012-01-18 113 views
6

我真的很感激,如果你能提供一些洞察力安装轨道3.x框架上的Ruby到没有互联网连接的计算机。Ruby On Rails 3.x离线安装(没有互联网连接)

所有的教程或解释似乎都假设总是有互联网连接。是否有简单的方法来下载包含所有依赖关系的包,并简单地安装包。

在此先感谢

+0

我不认为这是可能的,但祝你好运:-) – 2012-01-18 08:30:32

回答

2

您可以使用捆绑才达到这一点。 Bundler接受您可以指定要安装的宝石位置的路径。在有互联网连接的地方运行以下命令。它将下载所有的依赖项并将它们打包到指定的文件夹中。

bundle install --path gems # 'gems' is the folder present in Rails.root 

现在,所有的依赖关系都在项目中,您可以将项目复制到没有互联网连接的机器上。从现在开始使用如下命令:

bundle exec rails server 
bundle exec rails console 

请注意,您必须在目标机器上手动安装bundler gem。

+0

我目前的环境是winxp。由于不熟悉rails 3和bundle,因此在安装了mingw和bundle gem之后,我做了一些阅读。我使用以下内容来源创建GemFile“http://rubygems.org”gem“rails”。在提供您提供的命令后,我收到以下错误。获取http://rubygems.org/的源索引无法访问rubygems存储库http://rubygems.org/ 在列出的任何gem源代码中找不到gem'rails(> = 0)x86-mingw32' n你的Gemfile。 – user1155710 2012-01-18 12:07:11

+0

'bundle install'命令之前是这样的一句话:**在有互联网连接的地方运行以下命令。**您需要在连接互联网的机器上创建项目,然后运行'bundle install',然后您可以将项目复制到非互联网连接的机器上。 – Nate 2012-01-18 14:49:10

7

最后。您需要手动下载的Gems完整列表,以便以脱机模式安装Rails(或在防止“gem”命令正常工作的代理之后)。

此列表假定您已经有了下面的东西(Windows 7)中:

  1. Ruby 1.9.2

  2. RubyGems 1.8.24

  3. DevKit

  4. 列表。

转到rubygems.org并使用搜索功能下载以下每个宝石。你不需要输入版本号和东西的完整名称。例如,只是“actionmailer”将工作,并会找到最新版本)。

每个gem页面都会显示您在正常情况下安装在不在代理后面的计算机上时必须键入的命令行。忽略它,只需点击下载链接。

  • 的ActionMailer-3.2.6.gem
  • ActionPack的-3.2.6.gem
  • 了activerecord-3.2.6.gem
  • 的ActiveResource-3.2.6.gem
  • 的ActiveSupport-3.2。 6.gem
  • 耙0.9.2.2.gem
  • I18N-0.6.0.gem
  • multi_json-1.3.6.gem
  • activemodel-3.2.6.gem
  • arel-3.0.2。宝石
  • tzinfo-0.3.33.gem
  • 建设者,3.0.0.gem
  • erubis-2.7.0.gem
  • 旅程,1.0.4.gem
  • 机架1.4.1。宝石
  • 机架缓存1.2.gem
  • 机架测试0.6.1.gem
  • 链轮,2.1.3.gem
  • 加息,1.2.1.gem
  • 倾斜1.3.3.gem
  • 邮件2.4.4.gem
  • MIME类型,1.19.gem
  • 树梢,1.4.10.gem
  • 通晓多国语言,0.3.3.gem
  • 轨-3.2.6.gem
  • 捆绑,1.1.4.gem
  • railties-3.2.6.gem
  • 架-SSL-1.3.2.gem
  • 的RDoc-3.12.gem
  • 托尔0.15.3.gem
  • JSON-1.7.3.gem

(31个文件总计)

只要记住,该版本可能会改变。我在2012年6月完成了这些工作,这些版本适用于我。

将所有这些文件复制到Ruby安装目录。 然后,打开CMD控制台。

cd \ 
cd <RubyInstallDir> 
gem install rails-3.2.6.gem 

安装应该正常运行。 某些依赖项可能需要不同的版本。 在这种情况下,错误信息会显示正确的版本。所以你只需要从rubygems.org下载版本(在gem页面中有一个旧版本的列表),然后再次运行gem install命令。

我希望这可以提供帮助。

+0

你是一个绅士和学者张贴这个 – 2014-02-04 16:14:28

0

我知道这个问题涉及到Rails 3,但是我创建了PortableRails,正是因为这个(最近已经更新以支持Rails 4)。只要确保您运行的是bundle --local而不是bundle(这是新操作尝试执行的操作)。