質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.36%

  • Ruby on Rails

    5054questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Heroku

    452questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

  • Ruby on Rails 5

    79questions

Herokuでrailsアプリのデプロイでエラー

解決済

回答 3

投稿 2017/12/03 23:22 ・編集 2017/12/04 12:37

  • 評価
  • クリップ 0
  • VIEW 67

yoshimitsu41

score 17

rails初心者です。

HEROKUでrailsアプリのデプロイを試みているのですがエラーが出てしまいデプロイができません。
色々調べて試したのですが原因がわかりません。
出ているエラーは下記になります。

git push heroku master

Counting objects: 194, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (172/172), done.
Writing objects: 100% (194/194), 52.05 KiB | 2.74 MiB/s, done.
Total 194 (delta 31), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote:  !     Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used.
remote:             Detected buildpacks: Ruby,Node.js
remote:             See https://devcenter.heroku.com/articles/buildpacks#buildpack-detect-order
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-2.3.4
remote: -----> Installing dependencies using bundler 1.15.2
remote:        Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
remote:        Your Gemfile lists the gem mysql2 (= 0.3.18) more than once.
remote:        You should probably keep only one of them.
remote:        While it's not a problem now, it could cause errors if you change the version of one of them later.
remote:        Warning: the running version of Bundler (1.15.2) is older than the version that created the lockfile (1.16.0). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
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:        The latest bundler is 1.16.0, but you are currently running 1.15.2.
remote:        To update, run `gem install bundler`
remote:        Could not find rack-test-0.7.1 in any of the sources
remote:        Bundler Output: Your Gemfile lists the gem mysql2 (= 0.3.18) more than once.
remote:        You should probably keep only one of them.
remote:        While it's not a problem now, it could cause errors if you change the version of one of them later.
remote:        Warning: the running version of Bundler (1.15.2) is older than the version that created the lockfile (1.16.0). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
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:        The latest bundler is 1.16.0, but you are currently running 1.15.2.
remote:        To update, run `gem install bundler`
remote:        Could not find rack-test-0.7.1 in any of the sources
remote:  !
remote:  !     Failed to install gems via Bundler.
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !    Push rejected to cose-app.
remote: 
To https://git.heroku.com/cose-app.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/cose-app.git'
#gemfile

source 'https://rubygems.org'

git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.4'
# Use mysql as the database for Active Record
gem 'mysql2', '0.3.18'
# Use Puma as the app server
gem 'puma', '~> 3.7'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '~> 2.13'
  gem 'selenium-webdriver'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

group :production do
  gem 'rails_12factor'
  gem 'mysql2', '0.3.18'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
gem 'pry-rails'
gem 'devise'
gem 'enumerize'
gem 'bootstrap-sass'
gem 'jquery-rails'
gem 'cancancan'
gem 'rails_admin'
gem "chartkick"
gem 'ransack'
gem 'momentjs-rails'
gem 'bootstrap3-datetimepicker-rails'
gem 'kaminari'

お詳しい方ご教授お願い致します。

以下追記

config/environments/production.rb

Rails.application.configure do
  # Settings specified here will take precedence over those in config/application.rb.

  # Code is not reloaded between requests.
  config.cache_classes = true

  # Eager load code on boot. This eager loads most of Rails and
  # your application in memory, allowing both threaded web servers
  # and those relying on copy on write to perform better.
  # Rake tasks automatically ignore this option for performance.
  config.eager_load = true

  # Full error reports are disabled and caching is turned on.
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

  # Attempt to read encrypted secrets from `config/secrets.yml.enc`.
  # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
  # `config/secrets.yml.key`.
  config.read_encrypted_secrets = true

  # Disable serving static files from the `/public` folder by default since
  # Apache or NGINX already handles this.
  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?

  # Compress JavaScripts and CSS.
  config.assets.js_compressor = :uglifier
  # config.assets.css_compressor = :sass

  # Do not fallback to assets pipeline if a precompiled asset is missed.
  config.assets.compile = true

  # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb

  # Enable serving of images, stylesheets, and JavaScripts from an asset server.
  # config.action_controller.asset_host = 'http://assets.example.com'

  # Specifies the header that your server uses for sending files.
  # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX

  # Mount Action Cable outside main process or domain
  # config.action_cable.mount_path = nil
  # config.action_cable.url = 'wss://example.com/cable'
  # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]

  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  # config.force_ssl = true

  # Use the lowest log level to ensure availability of diagnostic information
  # when problems arise.
  config.log_level = :debug

  # Prepend all log lines with the following tags.
  config.log_tags = [ :request_id ]

  # Use a different cache store in production.
  # config.cache_store = :mem_cache_store

  # Use a real queuing backend for Active Job (and separate queues per environment)
  # config.active_job.queue_adapter     = :resque
  # config.active_job.queue_name_prefix = "cose_#{Rails.env}"
  config.action_mailer.perform_caching = false

  # Ignore bad email addresses and do not raise email delivery errors.
  # Set this to true and configure the email server for immediate delivery to raise delivery errors.
  # config.action_mailer.raise_delivery_errors = false

  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
  # the I18n.default_locale when a translation cannot be found).
  config.i18n.fallbacks = true

  # Send deprecation notices to registered listeners.
  config.active_support.deprecation = :notify

  # Use default logging formatter so that PID and timestamp are not suppressed.
  config.log_formatter = ::Logger::Formatter.new

  # Use a different logger for distributed setups.
  # require 'syslog/logger'
  # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')

  if ENV["RAILS_LOG_TO_STDOUT"].present?
    logger           = ActiveSupport::Logger.new(STDOUT)
    logger.formatter = config.log_formatter
    config.logger    = ActiveSupport::TaggedLogging.new(logger)
  end

  # Do not dump schema after migrations.
  config.active_record.dump_schema_after_migration = false
end
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

check解決した方法

0

無事解決しました。
問題点はbundlerのバージョンによる依存関係?だったようです。
エラー分の

The latest bundler is 1.16.0, but you are currently running 1.15.2.
       To update, run `gem install bundler`


でした。
解決方法として…。
gem uninstall bundlerで一旦アンインストール。
gem install bundler -v '1.15.2'
で再度インストールしてgemfile.lockを削除してからbundle install
するとgemfile.lockの一番下が

BUNDLED W`ITH
   1.15.2


になりました。

コミットしてgit push heroku master
でデプロイ出来ました。

投稿 2017/12/04 20:20

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

問題の切り分けをする必要があるかと思うので、順々に確認していきましょう!

以下をご回答いただけますか?

  1. herokuにアプリケーションの登録が出来ているか?
  2. 使っているデータベースは何をお使いですか?(mysqlだとアドオンを登録する必要がある)
  3. ローカルではアプリケーションは正しく動作していますか?

以上よろしくお願いします

投稿 2017/12/04 09:46

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/04 11:55

    ご連絡ありがとうございます!

    >herokuにアプリケーションの登録が出来ているか?
    はい。
    herokuの管理画面に入って確認したところ、cose-appという欄がありアプリケーションの登録は出来ております。

    >使っているデータベースは何をお使いですか?(mysqlだとアドオンを登録する必要がある)
    mysqlです!
    $ heroku addons:add cleardb
    で追加して、データベースの情報を変更しました。
    heroku config
    の内容は下記です。
    CLEARDB_DATABASE_URL: mysql://xxxxxx
    DATABASE_URL: mysql2://xxxxxx

    xxxxxの箇所は同じ内容が記載されています。

    >ローカルではアプリケーションは正しく動作していますか?
    はい。問題なく動作しております。

    ネットで調べつつ設定したつもりなのですが…。
    問題点はわかりますでしょうか?

    キャンセル

0

マークダウンが使えなかったので、新規に回答させて頂きます。
cleadbをお使いかと思うのですが、cleadbでの設定情報は環境変数で読み込んでいるか、database.ymlに直接記述しているかどちらでしょうか?

自分の環境では、database.ymlは環境変数で扱っています。

production:
  <<: *default
  database: <%= ENV['DB_NAME'] %>
  username: <%= ENV['DB_USERNAME'] %>
  password: <%= ENV['DB_PASSWORD'] %>
  host:     <%= ENV['DB_HOSTNAME'] %>
  port:     <%= ENV['DB_PORT'] %>

上記のようにしているので、heroku configDB_NAMEDB_USERNAMEなどをセットしています。

ただエラー内容を見る感じ、DB周りでは無いような気もしているのですが、、念のため

投稿 2017/12/04 12:16

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/04 12:34 編集

    >cleadbでの設定情報は環境変数で読み込んでいるか、'database.yml'に直接記述しているかどちらでしょうか?
    お恥ずかしいのですが、知識不足でご質問の意味が理解出来ていないのが正直なところです。。。
    database.ymlは何も修正しておりません。
    記述されている内容は下記です。

    ```ruby
    #database.yml

    # MySQL. Versions 5.1.10 and up are supported.
    #
    # Install the MySQL driver
    # gem install mysql2
    #
    # Ensure the MySQL gem is defined in your Gemfile
    # gem 'mysql2'
    #
    # And be sure to use new-style password hashing:
    # http://dev.mysql.com/doc/refman/5.7/en/old-client.html
    #
    default: &default
    adapter: mysql2
    encoding: utf8
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
    username: root
    password:
    socket: /tmp/mysql.sock

    development:
    <<: *default
    database: cose_development

    # Warning: The database defined as "test" will be erased and
    # re-generated from your development database when you run "rake".
    # Do not set this db to the same as development or production.
    test:
    <<: *default
    database: cose_test

    # As with config/secrets.yml, you never want to store sensitive information,
    # like your database password, in your source code. If your source code is
    # ever seen by anyone, they now have access to your database.
    #
    # Instead, provide the password as a unix environment variable when you boot
    # the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
    # for a full rundown on how to provide these environment variables in a
    # production deployment.
    #
    # On Heroku and other platform providers, you may have a full connection URL
    # available as an environment variable. For example:
    #
    # DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
    #
    # You can use this database configuration with:
    #
    # production:
    # url: <%= ENV['DATABASE_URL'] %>
    #
    production:
    <<: *default
    database: cose_production
    username: cose
    password: <%= ENV['COSE_DATABASE_PASSWORD'] %>

    ```

    キャンセル

  • 2017/12/04 12:37

    config/environments/production.rbの内容を追記致しました。

    キャンセル

  • 2017/12/04 12:53

    こちらの説明がわかりづらかったかと思います。すみません。。

    database.ymlを見る限り、herokuのアドオンで追加したcleadbとコネクト出来ていない様な気がします。
    database.ymlの最終行らへんのproductionの記述を以下の様に変更してください。

    production:
    <<: *default
    database: <%= ENV['DB_NAME'] %>
    username: <%= ENV['DB_USERNAME'] %>
    password: <%= ENV['DB_PASSWORD'] %>
    host: <%= ENV['DB_HOSTNAME'] %>
    port: <%= ENV['DB_PORT'] %>

    キャンセル

  • 2017/12/04 13:38 編集

    ありがとうございます。
    上記のように修正してgitでcommitしてgit push heroku masterしたのですが下記のエラーになりました。

    ```
    $ git push heroku master

    Counting objects: 198, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (176/176), done.
    Writing objects: 100% (198/198), 52.46 KiB | 3.75 MiB/s, done.
    Total 198 (delta 34), reused 0 (delta 0)
    remote: Compressing source files... done.
    remote: Building source:
    remote:
    remote: ! Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used.
    remote: Detected buildpacks: Ruby,Node.js
    remote: See https://devcenter.heroku.com/articles/buildpacks#buildpack-detect-order
    remote: -----> Ruby app detected
    remote: -----> Compiling Ruby/Rails
    remote: -----> Using Ruby version: ruby-2.3.4
    remote: -----> Installing dependencies using bundler 1.15.2
    remote: Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
    remote: Your Gemfile lists the gem mysql2 (= 0.3.18) more than once.
    remote: You should probably keep only one of them.
    remote: While it's not a problem now, it could cause errors if you change the version of one of them later.
    remote: Warning: the running version of Bundler (1.15.2) is older than the version that created the lockfile (1.16.0). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
    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: The latest bundler is 1.16.0, but you are currently running 1.15.2.
    remote: To update, run `gem install bundler`
    remote: Could not find rack-test-0.7.1 in any of the sources
    remote: Bundler Output: Your Gemfile lists the gem mysql2 (= 0.3.18) more than once.
    remote: You should probably keep only one of them.
    remote: While it's not a problem now, it could cause errors if you change the version of one of them later.
    remote: Warning: the running version of Bundler (1.15.2) is older than the version that created the lockfile (1.16.0). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
    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: The latest bundler is 1.16.0, but you are currently running 1.15.2.
    remote: To update, run `gem install bundler`
    remote: Could not find rack-test-0.7.1 in any of the sources
    remote: !
    remote: ! Failed to install gems via Bundler.
    remote: !
    remote: ! Push rejected, failed to compile Ruby app.
    remote:
    remote: ! Push failed
    remote: Verifying deploy...
    remote:
    remote: ! Push rejected to cose-app.
    remote:
    To https://git.heroku.com/cose-app.git
    ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'https://git.heroku.com/cose-app.git'
    ```

    キャンセル

  • 2017/12/04 13:50

    検索してみて、同様の事象になっている方は以下のコマンドで解決したようです。

    rm -rf .git
    git init
    git add .
    git commit -m "First commit"
    heroku create --stack cedar
    git push heroku master

    キャンセル

  • 2017/12/04 13:50

    念のためバックアップを取っておくといいかもしれません

    キャンセル

  • 2017/12/04 15:29

    ご指摘どおり対応しましたが結果は同じでした。
    他に考えられる可能性はございますでしょうか?

    キャンセル

  • 2017/12/04 18:26

    一度herokuのアプリケーションを削除して、最初からやり直したほうが早いかもしれません。。

    キャンセル

  • 2017/12/04 20:21

    自己解決致しました!
    ありがとうございました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.36%

関連した質問

同じタグがついた質問を見る

  • Ruby on Rails

    5054questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Heroku

    452questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

  • Ruby on Rails 5

    79questions