質問編集履歴

2 追記

Romay

Romay score 32

2019/03/24 05:01  投稿

herokuにRailsアプリをデプロイするも、stack level too deepでheroku run rake db:migrateができない。
### 前提・実現したいこと
ruby 2.3.1
Rails 4.2.6
mysql (開発環境)
postgresql(heroku)
---
Railsアプリをherokuにデプロイしています。
herokuの設定を終え、
```terminal
git push heroku master
```
がうまくいきました。
しかし、次のコマンドを打ったところでエラーがでてしました。
```terminal
heroku run rails db:migrate
```
### 発生している問題・エラーメッセージ
stack level too deepのエラーが出ています。
herokuデプロイが初めてで、今回のエラー文にうまく対処できずにいます。
```terminal
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/exe/bundle:22:in `<top (required)>'
/app/bin/bundle:3:in `load'
/app/bin/bundle:3:in `<main>'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
Traceback (most recent call last):
   8387: from /app/bin/bundle:3:in `<main>'
   8386: from /app/bin/bundle:3:in `load'
   8385: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/exe/bundle:22:in `<top (required)>'
   8384: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
   8383: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:123:in `rescue in with_friendly_errors'
   8382: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:45:in `log_error'
   8381: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:95:in `request_issue_report_for'
   8380: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/env.rb:18:in `report'
    ... 8375 levels...
      4: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
      3: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
      2: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
      1: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
/app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
```
### 該当のソースコード
Gemのバージョンが問題になるという記事がいくつかあったので、Gemfileを以下に置いておきます。
Gemfile
```ruby
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.6'
# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.3.13', '< 0.5', group: :development
gem 'pg', group: :production
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Unicorn as the app server
# gem 'unicorn'
# 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'
end
group :development do
 # Access an IRB console on exception pages or by using <%= console %> in views
 gem 'web-console', '~> 2.0'
 # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
 gem 'spring'
end
 gem 'pry-rails'
 gem 'compass-rails','~> 2.0'
 gem 'sprockets', '2.11.0'
 gem 'devise'
 gem 'omniauth'
 gem 'omniauth-facebook'
 gem 'omniauth-twitter'
 gem 'bootstrap-sass'
 gem 'dotenv-rails'
 gem 'paperclip'
 gem 'omniauth-instagram'
 gem 'instagram'
 gem 'friendly_id'
 gem 'font-awesome-rails'
 gem 'zeroclipboard-rails'
 gem 'rails-i18n'
 gem 'google-analytics-rails'
 gem 'carrierwave'
 gem 'acts_as_paranoid', '~> 0.6.0'
 gem 'rails_12factor', group: :production
```
### 試したこと
**Heroku の assets:precompile で エラーが起きたときの調査方法**
[https://mittsu-blog.com/how-to-cheack-heroku-assets-precompile-error](https://mittsu-blog.com/how-to-cheack-heroku-assets-precompile-error)
こちらの記事にあるように、Railsのバージョンが問題になるのでしょうか。
---
**7年前の記事ですが、rails-saasのバージョンが問題だった質問**
[Getting “stack level too deep” error when deploying with Capistrano, Rails 3.1 ruby 1.9.2](https://stackoverflow.com/questions/10039492/getting-stack-level-too-deep-error-when-deploying-with-capistrano-rails-3-1-r)
英語で検索しいろいろ見てみましたが、対処法が見つからず。。。
### 補足情報(FW/ツールのバージョンなど)
エラー文から手がかりが掴めずに困っています。
### 追記
schema.rb
```ruby
# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20190321185800) do
 create_table "images", force: :cascade do |t|
   t.string  "image",     limit: 255
   t.integer "user_id",   limit: 4
   t.datetime "created_at",            null: false
   t.datetime "updated_at",            null: false
 end
 create_table "items", force: :cascade do |t|
   t.integer "user_id",   limit: 4
   t.text    "text",      limit: 65535
   t.datetime "created_at",                              null: false
   t.datetime "updated_at",                              null: false
   t.boolean "check",                   default: false
   t.datetime "deleted_at"
 end
 add_index "items", ["deleted_at"], name: "index_items_on_deleted_at", using: :btree
 create_table "users", force: :cascade do |t|
   t.string  "email",                 limit: 255, default: "", null: false
   t.string  "encrypted_password",    limit: 255, default: "", null: false
   t.string  "reset_password_token",  limit: 255
   t.datetime "reset_password_sent_at"
   t.datetime "remember_created_at"
   t.datetime "created_at",                                     null: false
   t.datetime "updated_at",                                     null: false
   t.string  "uid",                   limit: 255
   t.string  "provider",              limit: 255
   t.string  "avatar_file_name",      limit: 255
   t.string  "avatar_content_type",   limit: 255
   t.integer "avatar_file_size",      limit: 8
   t.datetime "avatar_updated_at"
   t.string  "nickname",              limit: 255
   t.string  "description",           limit: 255
   t.string  "twitter",               limit: 255
   t.string  "instagram",             limit: 255
   t.string  "friendly_url",          limit: 255
 end
 add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
 add_index "users", ["friendly_url"], name: "index_users_on_friendly_url", unique: true, using: :btree
 add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
end
```
```
こちらの記事にあるように、rails 4.2.6から rails 4.2.8にupdateしてみましたがエラーは解決しませんでした。。。
[Ruby 2.4 and Rails 4 stack level too deep (SystemStackError)](https://stackoverflow.com/questions/41504106/ruby-2-4-and-rails-4-stack-level-too-deep-systemstackerror)
  • Ruby

    17664 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    19353 questions

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

  • Heroku

    2973 questions

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

1 追記

Romay

Romay score 32

2019/03/24 04:33  投稿

herokuにRailsアプリをデプロイするも、stack level too deepでheroku run rake db:migrateができない。
### 前提・実現したいこと
ruby 2.3.1
Rails 4.2.6
mysql (開発環境)
postgresql(heroku)
---
Railsアプリをherokuにデプロイしています。
herokuの設定を終え、
```terminal
git push heroku master
```
がうまくいきました。
しかし、次のコマンドを打ったところでエラーがでてしました。
```terminal
heroku run rails db:migrate
```
### 発生している問題・エラーメッセージ
stack level too deepのエラーが出ています。
herokuデプロイが初めてで、今回のエラー文にうまく対処できずにいます。
```terminal
/app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/exe/bundle:22:in `<top (required)>'
/app/bin/bundle:3:in `load'
/app/bin/bundle:3:in `<main>'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
Traceback (most recent call last):
   8387: from /app/bin/bundle:3:in `<main>'
   8386: from /app/bin/bundle:3:in `load'
   8385: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/exe/bundle:22:in `<top (required)>'
   8384: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
   8383: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:123:in `rescue in with_friendly_errors'
   8382: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:45:in `log_error'
   8381: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:95:in `request_issue_report_for'
   8380: from /app/vendor/bundle/ruby/2.5.0/gems/bundler-1.15.2/lib/bundler/env.rb:18:in `report'
    ... 8375 levels...
      4: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
      3: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
      2: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
      1: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
/app/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
```
### 該当のソースコード
Gemのバージョンが問題になるという記事がいくつかあったので、Gemfileを以下に置いておきます。
Gemfile
```ruby
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.6'
# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.3.13', '< 0.5', group: :development
gem 'pg', group: :production
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Unicorn as the app server
# gem 'unicorn'
# 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'
end
group :development do
 # Access an IRB console on exception pages or by using <%= console %> in views
 gem 'web-console', '~> 2.0'
 # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
 gem 'spring'
end
 gem 'pry-rails'
 gem 'compass-rails','~> 2.0'
 gem 'sprockets', '2.11.0'
 gem 'devise'
 gem 'omniauth'
 gem 'omniauth-facebook'
 gem 'omniauth-twitter'
 gem 'bootstrap-sass'
 gem 'dotenv-rails'
 gem 'paperclip'
 gem 'omniauth-instagram'
 gem 'instagram'
 gem 'friendly_id'
 gem 'font-awesome-rails'
 gem 'zeroclipboard-rails'
 gem 'rails-i18n'
 gem 'google-analytics-rails'
 gem 'carrierwave'
 gem 'acts_as_paranoid', '~> 0.6.0'
 gem 'rails_12factor', group: :production
```
### 試したこと
**Heroku の assets:precompile で エラーが起きたときの調査方法**
[https://mittsu-blog.com/how-to-cheack-heroku-assets-precompile-error](https://mittsu-blog.com/how-to-cheack-heroku-assets-precompile-error)
こちらの記事にあるように、Railsのバージョンが問題になるのでしょうか。
---
**7年前の記事ですが、rails-saasのバージョンが問題だった質問**
[Getting “stack level too deep” error when deploying with Capistrano, Rails 3.1 ruby 1.9.2](https://stackoverflow.com/questions/10039492/getting-stack-level-too-deep-error-when-deploying-with-capistrano-rails-3-1-r)
英語で検索しいろいろ見てみましたが、対処法が見つからず。。。
### 補足情報(FW/ツールのバージョンなど)
エラー文から手がかりが掴めずに困っています。
エラー文から手がかりが掴めずに困っています。
### 追記
schema.rb
```ruby
# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20190321185800) do
 create_table "images", force: :cascade do |t|
   t.string  "image",     limit: 255
   t.integer "user_id",   limit: 4
   t.datetime "created_at",            null: false
   t.datetime "updated_at",            null: false
 end
 create_table "items", force: :cascade do |t|
   t.integer "user_id",   limit: 4
   t.text    "text",      limit: 65535
   t.datetime "created_at",                              null: false
   t.datetime "updated_at",                              null: false
   t.boolean "check",                   default: false
   t.datetime "deleted_at"
 end
 add_index "items", ["deleted_at"], name: "index_items_on_deleted_at", using: :btree
 create_table "users", force: :cascade do |t|
   t.string  "email",                 limit: 255, default: "", null: false
   t.string  "encrypted_password",    limit: 255, default: "", null: false
   t.string  "reset_password_token",  limit: 255
   t.datetime "reset_password_sent_at"
   t.datetime "remember_created_at"
   t.datetime "created_at",                                     null: false
   t.datetime "updated_at",                                     null: false
   t.string  "uid",                   limit: 255
   t.string  "provider",              limit: 255
   t.string  "avatar_file_name",      limit: 255
   t.string  "avatar_content_type",   limit: 255
   t.integer "avatar_file_size",      limit: 8
   t.datetime "avatar_updated_at"
   t.string  "nickname",              limit: 255
   t.string  "description",           limit: 255
   t.string  "twitter",               limit: 255
   t.string  "instagram",             limit: 255
   t.string  "friendly_url",          limit: 255
 end
 add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
 add_index "users", ["friendly_url"], name: "index_users_on_friendly_url", unique: true, using: :btree
 add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
end
```
  • Ruby

    17664 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    19353 questions

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

  • Heroku

    2973 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る