2012-06-28 46 views
4

我目前正試圖運行'捆綁安裝'使用Gemfile安裝基於git的gem,因此使用ruby /其他ruby命令沒有與最新版本的RVM捆綁(1.14.3)。使用'捆綁安裝'與RVM git寶石時'寶石列表'發現的寶石

我相信問題的原因是,捆綁器正在將.gvm/gems/ruby​​-1.9.3-p194 @ something/bundler/gems安裝到所有其他gem安裝到.rvm/gems/[email protected]/gems。因此,「捆綁列表」顯示了寶石,但「寶石列表」卻沒有。

這裏有什麼想法嗎?我真的不想使用bundle來執行所有的事情。

回答

6

Bundler是用於捆綁應用程序的寶石。將它用於系統寶石沒有意義。不幸的是,非捆綁寶石系統沒有直接的方式來安裝基於git的寶石(我實際上問過一個關於這個問題,參見Is it possible to directly install a gem from a git repository?)。相反,你必須做手工的三個步驟:

  1. 克隆寶石回購(這是假設一個GitHub的庫,但它會爲任何地方託管的存儲庫工作,剛剛替補右混帳回購協議的位置)。

    git clone git://github.com/user/gem.git 
    
  2. 轉到克隆寶石回購目錄,並建立創業板(這也將檢查相關性,並警告你,如果安裝失敗,因爲缺少相關的 - 在這種情況下只需要安裝的依賴關係,然後再試一次)。

    rake gem 
    

    或者,如果不工作:

    gem build gem.gemspec 
    
  3. 這應該已經創建了像pkg/gem-1.2.3.gem名稱(有時它會建立在pkg目錄這樣的文件,有時它會建立在寶石回購根目錄中)。您現在可以安裝它。

    gem install pkg/gem-1.2.3.gem 
    
+0

我想這票是有關https://github.com/mpapis/rubygems-bundler/issues/21 – mpapis

+0

我做更多的研究,發現在http://stackoverflow.com/評論question/3175511/why-is-bundler-not-installing-gems-stored-in-get-repo-properly其中引用http://yehudakatz.com/2010/04/12/some-of-the-problems-bundler -solves/- 我認識到gem和bundler是不同的,但我真的想要讓gem/bundler/gem dirs成爲同一個目錄,所以gem可以使用捆綁軟件安裝的git gems? –