この記事は、下記記事の続きになります。
gemをインストールする。
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
gem 'solidus'
gem 'solidus_auth_devise'
'solidus'をrequireすると、以下がまとめてインストールされます。個別にインストールすることも可能なよう。
solidus_core
solidus_api
solidus_frontend
solidus_backend
solidus_sample
docker-compose buildの実行
$ docker-compose build
docker環境の場合、通常は上記コマンドでbundle installができるはずなんですが、何故かできなかったため、下記実行。
$ docker-compose exec app bundle install
solidus用に必要なものをインストールする
① $ docker-compose exec app bundle exec rails generate spree:install
② $ docker-compose exec app bundle exec rails generate solidus:auth:install
③ $ docker-compose exec app bundle exec rails railties:install:migrations
④ $ docker-compose exec app bundle exec rails db:migrate
しかし、①を実行すると下記エラー発生。。。
Running via Spring preloader in process 279
Could not find generator 'spree:install'.
Run `bin/rails generate --help` for more options.
試してみたこと
1.rubyのバージョン変更
2.7.1→2.7.2に変更したら上手くいったという記事を見て試してみましたが、駄目でした。。
2.キャッシュクリア
docker-compose exec app rm -rf tmp/cache/bootsnap-compile-cache
docker-compose exec app rm -rf tmp/cache/bootsnap-load-path-cache
docker-compose exec app bundle clean --force
こちらも変化なし。
①のエラーの解決策
$ docker-compose exec app bundle exec rails generate spree:install
ではなくて・・・・・
$ docker-compose exec app bundle exec rails g solidus:install
と実行したら成功しました!!
エラー文に、「Run bin/rails generate --help
for more options.」
つまりhelpオプションをつけて実行してみて。と書かれていたので試してみましたが、すぐ解決したので、まずはエラー文に忠実に従ってみるのがいいということが、良く分かりました(^_^;)
**************************************************
We added the following line to your application's config/routes.rb file:
mount Spree::Core::Engine, at: '/'
**************************************************
Solidus has been installed successfully. You're all ready to go!
Enjoy!
最終的に
デザインが反映されませんでした。。。
もしかするとrails6以降Webpackerでの管理になったが関係しているかも。。。
この記事を見ていただいた方は、rails6以前のバージョンで行うことをおすすめします。
▼参考にさせていただいた記事