前提
以前の質問の内容と関係(やや質問が異なるため別に質問させていただきます。また、かなり質問が長く文字数制限に引っかかる可能性があるのでここでは一部のみ上げさせていただきます。)しているのですが、Railsの本番環境をローカル環境で再現できるか試しているのですが、うまくいかずエラーが出てしまいます。私はRailsのAPIモードを使用しているのですが、この場合[rails assets:precompile]コマンドは必要なのでしょうか?
このGithubの議論を参考に以下を試しました
以下をGemfileに追記
gem 'sass-rails' gem 'uglifier' gem 'coffee-rails'
application.rbに追記
require 'sprockets/railtie'
これで再度buildしましたが、
yml
1api_1 | For more information see: https://github.com/rails/sprockets/blob/070fc01947c111d35bb4c836e9bb71962a8e0595/UPGRADING.md#manifestjs 2api_1 | bundler: failed to load command: puma (/usr/local/bundle/bin/puma) 3api_1 | /usr/local/bundle/gems/sprockets-rails-3.4.2/lib/sprockets/railtie.rb:110:in `block in <class:Railtie>': Expected to find a manifest file in `app/assets/config/manifest.js` (Sprockets::Railtie::ManifestNeededError) 4api_1 | But did not, please create this file and use it to link any assets that need 5api_1 | to be rendered by your app: 6api_1 | 7api_1 | Example: 8api_1 | //= link_tree ../images 9api_1 | //= link_directory ../javascripts .js 10api_1 | //= link_directory ../stylesheets .css 11api_1 | and restart your server 12api_1 |
以下のエラーが発生してしまいました。assetsフォルダがないといけないようです。APIモードではassetsフォルダはいらないはずです
・Railsガイドを見ましたが、APIモードについての言及はありませんでした。また、この記事からAPIモードではrails assets:precompileは不要なのではないかと推測しました。
ちなみにprecompile無しでそのまま[docker-compose -f docker-compose.production.yml up]すると、以下のエラーが発生してしまいます。このエラーがassets precompileしていないことが原因なのかどうか問題の切り分けをしています。
yml
1api_1 | ! Unable to load application: I18n::InvalidLocaleData: can not load translations from /usr/local/bundle/bundler/gems/devise_token_auth-1a0483fbd125/config/locales/ja.yml: #<Psych::SyntaxError: (<unknown>): did not find expected key while parsing a block mapping at line 20 column 7> 2api_1 | bundler: failed to load command: puma (/usr/local/bundle/bin/puma) 3api_1 | /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:254:in `rescue in load_yml': can not load translations from /usr/local/bundle/bundler/gems/devise_token_auth-1a0483fbd125/config/locales/ja.yml: #<Psych::SyntaxError: (<unknown>): did not find expected key while parsing a block mapping at line 20 column 7> (I18n::InvalidLocaleData) 4api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:246:in `load_yml' 5api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:228:in `load_file' 6api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:17:in `block in load_translations' 7api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:16:in `each' 8api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:16:in `load_translations' 9 10~省略 11api_1 | from /usr/local/bin/bundle:25:in `load' 12api_1 | from /usr/local/bin/bundle:25:in `<main>' 13api_1 | /usr/local/lib/ruby/3.1.0/psych.rb:455:in `parse': (<unknown>): did not find expected key while parsing a block mapping at line 20 column 7 (Psych::SyntaxError) 14api_1 | from /usr/local/lib/ruby/3.1.0/psych.rb:455:in `parse_stream' 15api_1 | from /usr/local/lib/ruby/3.1.0/psych.rb:399:in `parse' 16api_1 | from /usr/local/lib/ruby/3.1.0/psych.rb:272:in `unsafe_load' 17api_1 | from /usr/local/bundle/gems/bootsnap-1.13.0/lib/bootsnap/compile_cache/yaml.rb:151:in `input_to_storage' 18api_1 | from /usr/local/bundle/gems/bootsnap-1.13.0/lib/bootsnap/compile_cache/yaml.rb:254:in `fetch' 19api_1 | from /usr/local/bundle/gems/bootsnap-1.13.0/lib/bootsnap/compile_cache/yaml.rb:254:in `unsafe_load_file' 20api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:249:in `load_yml' 21api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:228:in `load_file' 22api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:17:in `block in load_translations' 23api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:16:in `each' 24api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/base.rb:16:in `load_translations' 25api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/simple.rb:77:in `init_translations' 26api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n/backend/simple.rb:62:in `eager_load!' 27api_1 | from /usr/local/bundle/gems/i18n-1.12.0/lib/i18n.rb:91:in `eager_load!' 28api_1 | from /usr/local/bundle/gems/railties-7.0.3.1/lib/rails/application/finisher.rb:75:in `each' 29api_1 | from /usr/local/bundle/gems/railties-7.0.3.1/lib/rails/application/finisher.rb:75:in `block in <module:Finisher>' 30api_1 | from /usr/local/bundle/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `instance_exec' 31api_1 | from /usr/local/bundle/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `run' 32api_1 | from /usr/local/bundle/gems/railties-7.0.3.1/lib/rails/initializable.rb:61:in `block in run_initializers' 33api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:228:in `block in tsort_each' 34api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' 35api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:431:in `each_strongly_connected_component_from' 36api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:349:in `block in each_strongly_connected_component' 37api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each' 38api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `call' 39api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each_strongly_connected_component' 40api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:226:in `tsort_each' 41api_1 | from /usr/local/lib/ruby/3.1.0/tsort.rb:205:in `tsort_each' 42api_1 | from /usr/local/bundle/gems/railties-7.0.3.1/lib/rails/initializable.rb:60:in `run_initializers' 43api_1 | from /usr/local/bundle/gems/railties-7.0.3.1/lib/rails/application.rb:372:in `initialize!' 44api_1 | from /myapp/config/environment.rb:5:in `<top (required)>' 45api_1 | from config.ru:3:in `require_relative' 46api_1 | from config.ru:3:in `block in <main>' 47api_1 | from /usr/local/bundle/gems/rack-2.2.4/lib/rack/builder.rb:116:in `eval' 48api_1 | from /usr/local/bundle/gems/rack-2.2.4/lib/rack/builder.rb:116:in `new_from_string' 49api_1 | from /usr/local/bundle/gems/rack-2.2.4/lib/rack/builder.rb:105:in `load_file' 50api_1 | from /usr/local/bundle/gems/rack-2.2.4/lib/rack/builder.rb:66:in `parse_file' 51api_1 | from /usr/local/bundle/gems/puma-5.6.4/lib/puma/configuration.rb:348:in `load_rackup' 52api_1 | from /usr/local/bundle/gems/puma-5.6.4/lib/puma/configuration.rb:270:in `app' 53api_1 | from /usr/local/bundle/gems/puma-5.6.4/lib/puma/runner.rb:150:in `load_and_bind' 54api_1 | from /usr/local/bundle/gems/puma-5.6.4/lib/puma/single.rb:44:in `run' 55api_1 | from /usr/local/bundle/gems/puma-5.6.4/lib/puma/launcher.rb:182:in `run' 56api_1 | from /usr/local/bundle/gems/puma-5.6.4/lib/puma/cli.rb:81:in `run' 57api_1 | from /usr/local/bundle/gems/puma-5.6.4/bin/puma:10:in `<top (required)>' 58api_1 | from /usr/local/bundle/bin/puma:25:in `load' 59api_1 | from /usr/local/bundle/bin/puma:25:in `<top (required)>' 60api_1 | from /usr/local/lib/ruby/3.1.0/bundler/cli/exec.rb:58:in `load' 61api_1 | from /usr/local/lib/ruby/3.1.0/bundler/cli/exec.rb:58:in `kernel_load' 62api_1 | from /usr/local/lib/ruby/3.1.0/bundler/cli/exec.rb:23:in `run' 63api_1 | from /usr/local/lib/ruby/3.1.0/bundler/cli.rb:484:in `exec' 64api_1 | from /usr/local/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run' 65api_1 | from /usr/local/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' 66api_1 | from /usr/local/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' 67api_1 | from /usr/local/lib/ruby/3.1.0/bundler/cli.rb:31:in `dispatch' 68api_1 | from /usr/local/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start' 69api_1 | from /usr/local/lib/ruby/3.1.0/bundler/cli.rb:25:in `start' 70api_1 | from /usr/local/lib/ruby/gems/3.1.0/gems/bundler-2.3.7/libexec/bundle:48:in `block in <top (required)>' 71api_1 | from /usr/local/lib/ruby/3.1.0/bundler/friendly_errors.rb:103:in `with_friendly_errors' 72api_1 | from /usr/local/lib/ruby/gems/3.1.0/gems/bundler-2.3.7/libexec/bundle:36:in `<top (required)>' 73api_1 | from /usr/local/bin/bundle:25:in `load' 74api_1 | from /usr/local/bin/bundle:25:in `<main>' 75redictum_ver-20_api_1 exited with code 1
私の予想ですが、やはりrailsのAPIモードを使用する際には、本番環境であってもrails assets:precompile はいらないように思えます。とりあえず今発生しているエラーの原因を切り分けたいのでAPIモードにrails assets:precompileは必要なのか知りたいです。
何かしらアドバイスがあればよろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー