2010-12-09 101 views
25

我想通过下载任何需要的文件并将它们带到另一台机器来安装指南针没有互联网连接。我已经下载了指南针的源码包,当我在未连接的机器上运行它时,它抱怨缺少依赖关系。任何解决方案下载所有宝石依赖项

+1

我不知道你的使用情况是什么,但如果你不使用捆扎机然而,我敢打赌,这将解决您的一些问题。开始很简单,呼吸新鲜空气。 – 2010-12-10 02:17:45

回答

40

那正是我遇到的问题。
周围,而搜索后,我发现是谁的作品使用捆扎机http://gembundler.com/

获得宝石与依赖关系的解决方案:

  • 创建一个它命名的Gemfile文件的新文件夹。
  • 写源代码和创业板,你想有dependencys为到文件
  • BSP:

    源 “http://rubygems.org
    宝石 '轨道', '3.2.1'

  • 在此文件夹中打开命令行执行:捆绑安装
  • 这应下载并安装所有Dependencys
  • 如果你想看到它
  • 执行命令捆套装
  • 这应该创建目录结构供应商/缓存
  • 里面的缓存目录下执行命令包列表是现在所有的Dependencys你需要为您的宝石

在计算机上安装宝石没有互联网连接:

  • 复制缓存文件夹到机器
  • 打开缓存文件夹内的命令行和执行创业板安装--local Gemname.gem
  • BSP:

    创业板安装导轨--local-3.2。 1。宝石

+0

这是否也获得了传递依赖关系?即依赖关系的依赖关系? – KomodoDave 2012-12-12 15:47:57

3

嗯。这有点困难。 gem dependency将向您显示一个宝石的依赖关系,但它不会一直沿着该树完成。

➔ gem dependency compass 
Gem compass-0.10.5 
    haml (>= 3.0.4, runtime) 

Gem compass-0.10.6 
    haml (>= 3.0.4, runtime) 

➔ gem dependency haml 
Gem haml-3.0.21 
    maruku (>= 0.5.9, development) 
    yard (>= 0.5.3, development) 

Gem haml-3.0.22 
    maruku (>= 0.5.9, development) 
    yard (>= 0.5.3, development) 

Gem haml-3.0.23 
    maruku (>= 0.5.9, development) 
    yard (>= 0.5.3, development) 

Gem haml-3.0.24 
    maruku (>= 0.5.9, development) 
    yard (>= 0.5.3, development) 

“发展”意味着它只有在您开发宝石本身时才是必需的。 “运行时”意味着你需要它来使用它。

所以在这种情况下,唯一的依赖是哈姆。如果它是一个更复杂的宝石,我不知道生成整棵树的好方法。

+0

仅供参考:指南针中存在一些新的依赖关系v0.11 – chriseppstein 2010-12-21 02:06:57

4

我做

export GEM_HOME=. 
export GEM_PATH=. 
gem install --no-ri --no-rdoc --install-dir . <gem>