简体   繁体   English

从Windows部署到Heroku时出错:说缺少thread_safe,但是在那里

[英]Error deploying to Heroku from Windows: says thread_safe is missing but it's there

When I try to deploy to Heroku from Windows, I get this error: 当我尝试从Windows部署到Heroku时,出现以下错误:

the following gem is missing from the dependencies section: thread_safe 依赖项部分缺少以下gem:thread_safe

Here's the Heroku log: 这是Heroku日志:

Counting objects: 75, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (66/66), done.
    Writing objects: 100% (75/75), 17.25 KiB | 0 bytes/s, done.
    Total 75 (delta 4), reused 0 (delta 0)
    remote: Compressing source files... done.
    remote: Building source:
    remote:
    remote: -----> Ruby app detected
    remote: -----> Compiling Ruby/Rails
    remote: -----> Using Ruby version: ruby-2.2.2
    remote: -----> Installing dependencies using bundler 1.11.2
    remote:        Running: bundle install --without development:test --path vendor/
    bundle --binstubs vendor/bundle/bin -j4 --deployment
    remote:        Fetching gem metadata from https://rubygems.org/...........
    remote:        Fetching version metadata from https://rubygems.org/...
    remote:        Fetching dependency metadata from https://rubygems.org/..
    remote:        Installing rake 11.0.1
    remote:        Installing minitest 5.8.4
    remote:        Installing i18n 0.7.0
    remote:        Your Gemfile.lock is corrupt. The following gem is missing from t
    he DEPENDENCIES
    remote:        section: 'thread_safe'
    remote:        Bundler Output: Fetching gem metadata from https://rubygems.org/.
    ..........
    remote:        Fetching version metadata from https://rubygems.org/...
    remote:        Fetching dependency metadata from https://rubygems.org/..
    remote:        Installing rake 11.0.1
    remote:        Installing minitest 5.8.4
    remote:        Installing i18n 0.7.0
    remote:        Your Gemfile.lock is corrupt. The following gem is missing from t
    he DEPENDENCIES
    remote:        section: 'thread_safe'
    remote:  !
    remote:  !     Failed to install gems via Bundler.
    remote:  !
    remote:
    remote:  !     Push rejected, failed to compile Ruby app
    remote:
    remote: Verifying deploy...
    remote:
    remote: !       Push rejected to mighty-thicket-40758.
    remote:
    To https://git.heroku.com/mighty-thicket-40758.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'https://git.heroku.com/mighty-thicket-40758.
    git'

Here's my Gemfile.lock , which clearly contains thread_safe in the dependencies section: 这是我的Gemfile.lock ,它在依赖项部分中显然包含thread_safe

GEM
remote: https://rubygems.org/
specs:
    actionmailer (4.1.8)
    actionpack (= 4.1.8)
    actionview (= 4.1.8)
    mail (~> 2.5, >= 2.5.4)
    actionpack (4.1.8)
    actionview (= 4.1.8)
    activesupport (= 4.1.8)
    rack (~> 1.5.2)
    rack-test (~> 0.6.2)
    actionview (4.1.8)
    activesupport (= 4.1.8)
    builder (~> 3.1)
    erubis (~> 2.7.0)
    activemodel (4.1.8)
    activesupport (= 4.1.8)
    builder (~> 3.1)
    activerecord (4.1.8)
    activemodel (= 4.1.8)
    activesupport (= 4.1.8)
    arel (~> 5.0.0)
    activerecord-jdbc-adapter (1.3.20)
    activerecord (>= 2.2)
    activerecord-jdbcpostgresql-adapter (1.3.20)
    activerecord-jdbc-adapter (~> 1.3.20)
    jdbc-postgres (>= 9.1)
    activesupport (4.1.8)
    i18n (~> 0.6, >= 0.6.9)
    json (~> 1.7, >= 1.7.7)
    minitest (~> 5.1)
    thread_safe (~> 0.1)
    tzinfo (~> 1.1)
    arel (5.0.1.20140414130214)
    builder (3.2.2)
    coffee-rails (4.0.1)
    coffee-script (>= 2.2.0)
    railties (>= 4.0.0, < 5.0)
    coffee-script (2.4.1)
    coffee-script-source
    execjs
    coffee-script-source (1.10.0)
    erubis (2.7.0)
    execjs (2.6.0)
    hike (1.2.3)
    i18n (0.7.0)
    jbuilder (2.4.1)
    activesupport (>= 3.0.0, < 5.1)
    multi_json (~> 1.2)
    jdbc-postgres (9.4.1206)
    jquery-rails (3.1.4)
    railties (>= 3.0, < 5.0)
    thor (>= 0.14, < 2.0)
    json (1.8.3-java)
    mail (2.6.3)
    mime-types (>= 1.16, < 3)
    mime-types (2.99.1)
    minitest (5.8.4)
    multi_json (1.11.2)
    rack (1.5.5)
    rack-test (0.6.3)
    rack (>= 1.0)
    rails (4.1.8)
    actionmailer (= 4.1.8)
    actionpack (= 4.1.8)
    actionview (= 4.1.8)
    activemodel (= 4.1.8)
    activerecord (= 4.1.8)
    activesupport (= 4.1.8)
    bundler (>= 1.3.0, < 2.0)
    railties (= 4.1.8)
    sprockets-rails (~> 2.0)
    rails_12factor (0.0.3)
    rails_serve_static_assets
    rails_stdout_logging
    rails_serve_static_assets (0.0.5)
    rails_stdout_logging (0.0.4)
    railties (4.1.8)
    actionpack (= 4.1.8)
    activesupport (= 4.1.8)
    rake (>= 0.8.7)
    thor (>= 0.18.1, < 2.0)
    rake (11.0.1)
    rdoc (4.2.2)
    json (~> 1.4)
    sass (3.2.19)
    sass-rails (4.0.5)
    railties (>= 4.0.0, < 5.0)
    sass (~> 3.2.2)
    sprockets (~> 2.8, < 3.0)
    sprockets-rails (~> 2.0)
    sdoc (0.4.1)
    json (~> 1.7, >= 1.7.7)
    rdoc (~> 4.0)
    sprockets (2.12.4)
    hike (~> 1.2)
    multi_json (~> 1.0)
    rack (~> 1.0)
    tilt (~> 1.1, != 1.3.0)
    sprockets-rails (2.3.3)
    actionpack (>= 3.0)
    activesupport (>= 3.0)
    sprockets (>= 2.8, < 4.0)
    therubyrhino (2.0.4)
    therubyrhino_jar (>= 1.7.3)
    therubyrhino_jar (1.7.6)
    thor (0.19.1)
    thread_safe (0.3.5-java)
    tilt (1.4.1)
    turbolinks (2.5.3)
    coffee-rails
    tzinfo (1.2.2)
    thread_safe (~> 0.1)
    tzinfo-data (1.2016.1)
    tzinfo (>= 1.0.0)
    uglifier (2.7.2)
    execjs (>= 0.3.0)
    json (>= 1.8.0)

PLATFORMS
java

DEPENDENCIES
activerecord-jdbcpostgresql-adapter
coffee-rails (~> 4.0.0)
jbuilder (~> 2.0)
jquery-rails
rails (= 4.1.8)
rails_12factor
sass-rails (~> 4.0.3)
sdoc (~> 0.4.0)
therubyrhino
thread_safe
turbolinks
tzinfo-data
uglifier (>= 1.3.0)

BUNDLED WITH
1.11.2

I know Heroku sometimes does fancy things with the Gemfile.lock , but I'm not using any Windows-specific gems. 我知道Heroku有时会用Gemfile.lock做一些花哨的事情 ,但我没有使用任何Windows特定的gem。

Anyone know what's going on? 有谁知道发生了什么?

Add this line to /config/application.rb config.threadsafe! 将此行添加到/config/application.rb config.threadsafe! And run bundle update 并运行bundle update

I "fixed" the problem by specifying JRuby as the engine in my Gemfile: 我通过在我的Gemfile中指定JRuby作为引擎来“解决”该问题:

ruby '2.2.2', :engine => 'jruby', :engine_version => '9.0.0.0'

So I'm still not sure what was happening, just that the generic Heroku Rails 4.x start guide isn't sufficient for Windows...must rely on this one and dig into their sample app to make your own. 因此,我仍然不确定发生了什么,只是通用的Heroku Rails 4.x入门指南不足以适用于Windows ...必须依靠这一指南并深入研究自己的示例应用程序。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM