Solidus
インストール方法
できるだけ最小限に、できるだけ全ての環境に当てはまるようにインストール方法を書いていきます。基本的には公式の説明のとおりですので、そちらを一緒に見ながら進めるとよいと思います。
1. Imagemagick をインストールする
ファイルアップロード用のgemであるPaperclip
で用いるためにImagemagick
が必要とのことですので、インストールします*1。
Imagemagick
のインストールは、Solidus
をインストールするだけという目的ならば必須ということではないかもしれません*2。
とはいえ、どう考えても実質的に必須なので入れておきましょう。
2. Solidus 用のディレクトリを作って bundle init する
適当な場所にSolidus
用のディレクトリを作ってその中でbundle init
します。
$ mkdir my_solidus $ cd my_solidus $ bundle init
3. 生成された Gemfile を編集する
「2.」のbundle init
の実行によりGemfile
が生成されましたので、それを以下のように編集(2行を追記)します。
# frozen_string_literal: true source "https://rubygems.org" # gem "rails" gem 'solidus' gem 'solidus_auth_devise'
ここで注意するのは、rails
はインストールしないということです。solidus
のインストールにより、適切なバージョンの Rails が入るからです。
4. gem をインストール
「3.」で編集したGemfile
に基づいて gemファイル をインストールしましょう。インストールする場所についてはここではvendor/bundle
を指定していますが、各自の環境によって異なると思います。
$ bundle install --path vendor/bundle
5. rails new する
ここはドキュメントに書かれていないのですが、rails new
しなければいけません。そもそもアプリケーションが存在していないからです。
以下の記述ではカレントディレクトリにアプリケーションを作成していますが*3、各自の環境により異なると思います。
$ bundle exec rails new . Overwrite /var/www/rails/solidus/Gemfile? (enter "h" for help) [Ynaqdh] #=> Y
6. Gemfile に改めて Solidus の行を書き込む
「5.」のrails new
により生成されたGemfile
には、「3.」で追記した2行が記載されていません*4。なので、生成されたGemfile
の末尾に改めて、2行を追記します。
(略) # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem 'solidus' gem 'solidus_auth_devise'
7. さらに改めて bundle install をする
これは場合によっては不要ですが、そういう場合でも実行して問題はないので手順として書いておきます。「4.」と同じようにして gem をインストールします。場合によっては $ bundle update
が必要になるかもしれません。
$ bundle install --path vendor/bundle
8. アプリケーションに必要なものをインストール
ここまでくれば残りのレールに乗るのは簡単です。ドキュメントにあるように以下のコマンドを次々と実行していきましょう(少し時間がかかります)。
$ bundle exec rails generate spree:install $ bundle exec rails generate solidus:auth:install $ bundle exec rails railties:install:migrations $ bundle exec rails db:migrate
Rails 5 ですので、公式ドキュメントにおいてrake
と記載されている部分はrails
に変更しています。また、rails g
という書き方が(完全に個人的に)好きではないので、rails generate
としています。
途中、管理者アカウントの登録(変更)が求められることもあります。
また bundle exec rails generate
が進まない場合は Gemfile
で spring
を無効にして bundle install
し直しましょう。
9. You are on Solidus!
サーバを起動しましょう。起動できたらトップページにアクセスし、Solidus
の画面が出ればインストール成功です!
補足
- 「1.」~「6.」の順序は守らないとうまくいきません*5
- 機能やドキュメントを調べるときは
Spree
のものも含めて調べるとよいかもしれません Solidus
特有のエラーではなく、Rails
やRuby
一般に基づくエラーが出た場合*6は各自で対処してみてください- デフォルトユーザ名は admin@example.com、デフォルトパスワードは test123 です
さらに補足(2018/08/27)
Rails 5.2.1 ですと bundle exec rails generate solidus:auth:install
のところで ArgumentError: wrong number of arguments (given 3, expected 2)
が出るかと思います。
Rails のバージョンを下げましょう。「5.」で rails new
する前に bundle exec rails -v
をして 5.2.0
なら OK です。