2017-08-12 106 views
0

我使用的是Ruby 2.2.7和Rails 3.2.21,並試圖在Heroku上部署版本爲:~> 2.5.7的gem:locomotive_cms,並且它被部署成功,但我面臨着以下錯誤:「捆綁器:未能加載命令:瘦」在Heroku

2017-08-12T23:33:13.732440+00:00 app[web.1]: bundler: failed to load command: thin (/app/vendor/bundle/ruby/2.2.0/bin/thin) 2017-08-12T23:33:13.732490+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/excon-0.23.0/lib/excon/middlewares/expects.rb:6:in `response_call'

有了這樣的,它會產生這樣太:

Heroku::API::Errors::ErrorWithResponse: Expected(200) <=> Actual(400 Bad Request)

我有thin在我的Gemfile根據其文檔所必需的locomotivecms。

我也一直在其他類似的問題,但我仍然無法解決我的問題。我有紅寶石版本:2.2.7,雖然它是說:/app/vendor/bundle/ruby/2.2.0/bin/thin

的Gemfile:

source 'https://rubygems.org' 
ruby "2.2.7" 

gem 'rails', '3.2.21' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 
gem 'locomotive_cms', '~> 2.5.7', :require => 'locomotive/engine' 
gem 'dotenv-rails' 

gem 'savon', '~> 2.3.0' # SOAP client for pulling in events 
gem 'twitter', '5.8.0' 
gem 'twitter-text' 
gem 'whenever', require: false 


# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'compass-rails', '~> 2.0.0' 
    gem 'sass-rails', '~> 3.2.4' 
    gem 'coffee-rails', '~> 3.2.2' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '~> 1.2.4' 
end 

group :development do 
    gem 'unicorn' 
    gem 'pry' 
end 


# To use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# To use Jbuilder templates for JSON 
# gem 'jbuilder' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'debugger' 

# To use on Heorku 
gem 'locomotive-heroku', '~> 0.1.0', :require => 'locomotive/heroku' 
gem 'thin' 

Gemfile.lock的:

你可以在這裏找到:https://gist.github.com/Arslan-Ali-Butt/640c1ec1750d17c9803e12a492f35c4e

+0

只是一個供參考 - 你要如果你正在使用的軌道運行到所有類型的問題3.x.x和Ruby 2.2.x中使用支持rails 4.x的CMS。 – zee

+0

你的Gemfile還有什麼? Gemfile.lock中有什麼? –

+0

@AaronBreckenridge我已經更新了我的Gemfile中的問題,以及臨客,以Gemfile.lock的 –

回答

3

對不起,壞消息。

我看了一下你的Gemfile和Gemfile.lock,以及​​和locomotive_cms的最新的2.5.x分支https://github.com/locomotivecms/engine/tree/v2.5.x。由於缺乏對您所依賴的Gems版本的維護,您已經達到了功能的終點。

locomotive_cms已更名爲locomotivecms並且碰到了版本3+。該locomotive_cms寶石不再維護。不僅如此,它還不再與你使用的其他一些依賴關係兼容,即excon。

Bundler could not find compatible versions for gem "excon": 
    In Gemfile: 
    locomotive_cms was resolved to 2.5.8, which depends on 
     fog (~> 1.12.1) was resolved to 1.12.1, which depends on 
     excon (~> 0.23.0) 

    locomotive-heroku was resolved to 0.1.0, which depends on 
     heroku-api (~> 0.3.23) was resolved to 0.3.23, which depends on 
     excon (~> 0.44) 

你會想在https://locomotive-v3.readme.io/docs/upgrade-to-v3要經過升級指南。

+0

是的,我已經與Heorku團隊聯繫過,事實上這是理由。 'locomotive_cms'與最新版本的Heroku API不兼容。 –

0

添加Procfile(將一個名爲Procfile的文件放在你的應用程序的根目錄下),以告訴Heroku使用瘦,像這樣:

web: bundle exec thin start -p $PORT 

這將允許您在Heroku的生產中運行瘦身。我假設你的Gemfile配置正確

第二條消息指向根據Heroku API guide的錯誤請求,但很難判斷它是如何連接到第一條錯誤消息的。

+0

一個Procfile已經存在與內容:'網站:捆綁高管薄開始-p薄是$ PORT -e $ RACK_ENV' –

+0

什麼版本你在用嗎? –

+0

它是'1.7.2'。雖然我沒有特別在我的Gem文件中提到它。 –