2011-10-19 61 views
11

使用捆綁,你可以做這樣的事情在Gemfile是否可以直接從git倉庫安裝gem?

gem 'my_gem', :git => '[email protected]:me/my_gem.git' 

這建立在回購寶石和安裝。很棒。是否可以使用命令行gem工具來做類似的事情?像這樣?

gem install my_gem --git="[email protected]:me/my_gem.git" 

很明顯,該命令不起作用,但有沒有像這樣的事情呢?我知道我可以克隆回購,運行gem build my_gem.gemspec,然後運行gem install my_gem-1.2.3.gem。但我想知道是否有一個直接的單線程隱藏幕後的這些中間步驟。

回答

6

因爲不像典型的Git倉庫,GitHub上建立的寶石,如果該項目託管在GitHub和寶石被發現在source list,那麼你可以這樣添加GitHub的到你的源代碼列表:

$ gem sources -a http://gems.github.com 

,然後根據需要在一個單一的步驟以後安裝的寶石,如:

$ sudo gem install username-projectname 

否則,沒有一步到位的解決方案,你將不得不做這樣的事情:

  1. 下載寶石的zip/tar文件
  2. gem build <gemname>.gemspec
  3. sudo gem install <gemname>-x.x.x.gem
+0

我的寶石是不是在源列表。它是一個私人存儲庫。 –

+1

和後面的解決方案我已經知道,正如我在我的文章中所概述的。我只是想知道是否有一個單行的寶石命令。也許沒有。 –

+0

你可以編寫一個你傳遞參數的shell函數。但是,我不知道任何光滑的單線隊員。 –

相關問題