2013-07-17 12 views
1

我分叉在GitHub上Redis的存款,以https://github.com/lmirosevic/redis-rb如何在Heroku上使用GitHub上的gem?

我把它添加到我的Gemfile

gem 'redis', :github => 'lmirosevic/redis-rb' 

我需要我的末日應用程序內的寶石:

require 'redis' 

然而,失敗,並顯示以下錯誤:

/app/vendor/ruby-2.0.0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- redis (LoadError) 

有什麼建議可能是錯的?它似乎應該工作!

編輯

我要指出的是,bundler階段是罰款。問題似乎在需要的一步。 捆紮機給了我這樣的輸出:

Using redis (3.0.4) from git://github.com/lmirosevic/redis-rb (at master) 

我還要說,我的目錄結構是這樣的。不知道這是否有所作爲。

/ 
    .env 
    Gemfile 
    Gemfile.lock 
    Procfile 
    /lib 
    my_sinatra_app.rb 
    /config 
    ... 
+0

您的應用程序調用了Bundler.setup嗎? –

+0

@FrederickCheung no ... – lms

+0

你的啓動代碼中是否有'require'bundler/setup''? – matt

回答

1

您必須

require 'bundler/setup' 

在您的應用程序,否則你沒有真正使用捆綁:這是確保加載的寶石版本在你的Gemfile的那些,並建立負載路徑對於全球範圍內未安裝的任

調用Bunder.setup允許您控制使用哪些組,但如果僅使用默認組是很好的,那麼您不需要這樣做。

如果您沒有設置捆綁器,那麼您的gemfile文件用於安裝所需版本的寶石,但不再使用捆綁器 - 您的應用將使用任何安裝的寶石,無論版本是否匹配,您將無法使用未安裝在默認寶石加載路徑中的寶石。

相關問題