2010-12-09 72 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>