2012-03-04 64 views
1

我的應用可以在雜種(當地)中正常工作,但突然與乘客的apache會給我帶來麻煩。這是工作的罰款,但現在我得到這個錯誤,我沒有設法解決尚未:Json對乘客的依賴?

Could not find multi_json-1.1.0 in any of the sources (Bundler::GemNotFound) 

我的Gemfile:

source 'http://rubygems.org' 

gem 'rails' 
gem 'mysql2' 
gem 'tzinfo' 

gem 'jquery-rails' 
gem 'kaminari' 
gem 'cancan' 

# active-admin dependencies 
gem 'activeadmin' 
gem 'sass-rails' 
gem "meta_search", '>= 1.1.0.pre' 

gem 'sorcery' 

group :assets do 
    gem "coffee-script" 
    gem "twitter-bootstrap-rails" 
end 

任何想法?

編輯:

嗯,我注意到,唯一的寶石有「multi_json-1.0.4」,這是比不同multi_json-1.1.0它是要求我的寶石路徑。但是,在運行'bundle'時,我看到'Using multi_json(1.1.0)'。但是我無法在任何地方找到寶石(而且似乎也沒有乘客)。

+0

也許添加gem'multi_json'會有幫助嗎? – Slawek 2012-03-04 23:40:08

+0

我試過了:P不工作。 – Spyros 2012-03-04 23:46:31

+0

你嘗試過「捆綁顯示multi_json」嗎?寶石存在嗎? – Slawek 2012-03-04 23:49:49

回答

3

安裝寶石和1.9.2p29-升級的Ruby 1.9.3後解決同樣的問題。我使用NGINX,而不是Apache,但這裏有一個組合式的解決方案:

  1. NGINX只(Apache的負載動態乘客):安裝Ruby 1.9.3後 客運重建NGINX。
  2. 在Web服務器的配置文件中,使用正確的ruby版本更新Passenger的根和ruby分配。

NGINX.conf - 在HTTP {}塊:

http { 
    ... 
    passenger_root /Users/myusername/.rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11; 
    passenger_ruby /Users/myusername/.rvm/wrappers/ruby-1.9.3-p0/ruby; 
    ... 
} 

或者,在Apache的httpd.conf:

PassengerRoot /Users/myusername/.rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11 
PassengerRuby /Users/myusername/.rvm/wrappers/ruby-1.9.3-p0/ruby 

此外,重新打包的應用程序(軟件包更新)。

希望這對你有用。

重新回覆了其他一些問題。

  • gem文件存在。 Bundle顯示: 〜/ .rvm/gems/ruby​​-1.9.3-p0/gems/multi_json-1.1.0
  • multi_json是Passenger的依賴關係,不是應用程序,所以沒有 效果/ gemfile中不需要。
  • gemfile.lock與上述原因無關;捆綁更新沒有效果
1

我通常會通過將寶石直接添加到我的存儲庫來討論這種類型的頭痛。需要注意的是,您的存儲庫正在增長,但我發現比依賴於gem服務器更少的痛苦。

bundle pack 
git add vendor/cache 
git commit 

然後在部署過程中所遇到的部署標誌

bundle install --deployment