2010-10-02 150 views
18

我正在嘗試使用instructions here來安裝捆綁軟件的預發佈版本的gem。從Github與Bundler安裝gem

「捆綁安裝」輸出列出了安裝的gem,但「gem list」未能找到它。

我的Gemfile:

source :gemcutter 

gem 'sinatra', '1.1.0', :git => 'http://github.com/sinatra/sinatra.git' 
gem 'RedCloth', '4.2.3' 

這裏是一個gist與我的樣本代碼的其餘部分。

有沒有人得到這種情況下工作?

注:我也使用RVM(在OS X上)。 bundle show確實將gem(和依賴關係)列爲已有,但我無法正確解決它們。

謝謝。

+0

是什麼'rackup'的輸出? – marshally 2010-10-02 18:37:49

回答

2

Bundler可能已經在本地安裝到您的應用程序。根據操作系統以及您是否使用RVM,這可能會有很大差異。

bundle show sinatra的輸出是什麼?

在我的情況,西納特拉在這裏安裝:

/home/marshall/.rvm/gems/[email protected]/bundler/gems/sinatra-9cfa74a7f352 

西納特拉不寶石列表中顯示,但服務器正常啓動,如果我執行rackup

+0

束顯示:由包包括寶石: * RedCloth(4.2.3) *捆綁(1.0.1) *機架(1.2.1) *屈(1.1.0 9cfa74a) *傾斜(1.1) – 2010-10-02 18:29:03

+0

之前應該提到,我使用的是RVM和OS X.所以我猜這個寶石是存在的,這個需求沒有正確解決。 – 2010-10-02 18:33:21

0

它看起來像使用Shotgun和Bundler(僅限git存儲庫)存在問題。

如果我使用機架啓動我的應用程序,一切都很好。我打算再調查一下,然後提交一個(或兩個)項目的bug。

23

我想看看負載路徑,並進一步調試從那裏,例如:

...(master) $ irb 
irb(main):001:0> $LOAD_PATH.count 
=> 8 
irb(main):004:0> require 'bundler/setup' 
=> true 
irb(main):005:0> $LOAD_PATH.count 
=> 112 
irb(main):006:0> 

捆紮機配置爲您的負載路徑,這意味着不是所有的寶石都包含在默認情況下你的負載路徑上。

此外,從bundler git help

因爲RubyGems的缺乏處理從混帳寶石的能力,從一個Git倉庫安裝任何寶石將不會在寶石列表顯示出來。但是,在運行Bundler.setup後,它們將可用。

最好的問候,希望這有助於

ED

0

寶石通過捆綁安裝在Engine Yard的去一個不同的文件夾孤立他們。

通常/data/APP_NAME/shared/bundled_gems

是可以肯定的,請檢查您.bundle/config文件,您的APP文件夾在Engine Yard的