" bundler:无法加载命令:thin"在Heroku上

时间:2017-08-12 23:45:23

标签: ruby-on-rails ruby heroku thin locomotivecms

我正在使用Ruby 2.2.7和Rails 3.2.21,并尝试在Heroku上部署版本为locomotive_cms的gem:~> 2.5.7,并且它已成功部署,但是我面临以下错误:

  

2017-08-12T23:33:13.732440 + 00:00 app [web.1]:bundler:无法加载命令: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:在`response_call'

然后,它也产生了这个:

  

Heroku :: API :: Errors :: ErrorWithResponse:Expected(200)< =>实际(400错误请求)

我的Gemfile中有thin,这是locomotivecms根据其文档所必需的。

我也遇到过其他类似的问题,但我仍然无法解决我的问题。我有Ruby版本: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

2 个答案:

答案 0 :(得分:3)

对不起消息提前抱歉。

我看一下你的Gemfile和Gemfile.lock,以及https://github.com/locomotivecms/locomotive-heroku/pull/11的PR https://github.com/locomotivecms/engine/tree/v2.5.x和locomotive_cms的最新2.5.x分支。https://locomotive-v3.readme.io/docs/upgrade-to-v3。由于缺乏对您所依赖的Gems版本的维护,您已达到功能的终点。

locomotive_cms已重命名为locomotivecms,并且已发布到版本3+。不再维护locomotive_cms gem。不仅如此,它还不再与你正在使用的其他一些依赖项兼容,即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)

您需要查看http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-serverPaging上的升级指南。

答案 1 :(得分:0)

添加Procfile(在应用程序的根目录中放置一个名为Procfile的文件),告诉Heroku使用thin,如下所示:

web: bundle exec thin start -p $PORT

这将允许你在Heroku上生产瘦身。我假设您的Gemfile已正确配置

根据Heroku API guide,第二条消息指向错误请求,但很难说它是如何连接到第一条错误消息的。