LoginSignup
1
0

More than 1 year has passed since last update.

「Everyday Rails - RSpecによるRailsテスト入門」のセットアップで詰まったことと対処法まとめ

Last updated at Posted at 2022-01-31

「Everyday Rails - RSpecによるRailsテスト入門」
職場の先輩におすすめしていただいたので、買ってみました。
そこのセットアップでつまずいたことと対処法を自分なりにまとめてみました。

「Everyday Rails - RSpecによるRailsテスト入門」のセットアップの手順

# ソースコードのダウンロード
git clone git@github.com:JunichiIto/everydayrails-rspec-jp-2022.git
# ディレクトリの移動
cd everydayrails-rspec-jp-2022
# 使用する Ruby バージョンを指定(本書では3.1.0を推奨。下記コマンドは rbenv を使用する場合)
rbenv local 3.1.0
# gem のインストール
bundle install
# データベースのセットアップ等
bin/setup
# JavaScript パッケージのインストール
yarn install
# foreman gem のインストール
gem install foreman
# サーバーの起動
bin/dev

「Everyday Rails - RSpecによるRailsテスト入門」

にこのようなパートがあると思います。27p目(2022/1/31時点)。

git clone時のエラー

# ソースコードのダウンロード
git clone git@github.com:JunichiIto/everydayrails-rspec-jp-2022.git

で、

git@github.com: Permission denied (publickey)

のようなエラーが起こると思います。
以下の記事をまんまやったらできました。

ssh等のよけいな設定がめんどくさければ下記のコマンドでもクローンできるかと思います。

git clone https://github.com/JunichiIto/everydayrails-rspec-jp-2022.git

bin/setup時のエラー

bin/setup

を実行すると

 ActiveSupport::MessageEncryptor::InvalidMessage (ActiveSupport::MessageEncryptor::InvalidMessage)

というエラーがでるかもしれません。

このエラーはどんなエラーかという
詳しいことの説明は、通称「チェリー本」や「、Everyday Rails - RSpec」の著者である伊藤淳一さんの下記の記事におまかせしたいと思います。
https://qiita.com/jnchito/items/a73bc2838bfab5240675

bin/setup時のエラーの解決

を試しても解決しない場合は、以下が原因かもしれません。

伊藤さん本人に解決していただきました。
誠にありがとうございます。

復習として、私のほうでも記事を書かせていただきます。

Railsはcredentialファイルを暗号化するためのマスターキーにconfig/master.keyか環境変数ENV["RAILS_MASTER_KEY"]を使用します。

Rails セキュリティガイド - Railsガイド

とあります。Railsは環境変数を参照して暗号化をしようとしてしまいました。

私は以前、 vim ~/.zshrcとかで RAILS_MASTER_KEYを設定してしまいました。
なので

unset RAILS_MASTER_KEY 

で、マシン全体で共通のマスターキーの設定を解除できます。

以下は以前の解決方法

削除するのが望ましいかもしれませんが、反面教師的な感じで一応載せておきます。

結論からいうと

sudoはほとんどの環境変数をunsetするのでRAILS_MASTER_KEYも消してくれたのかもしれません。
と@zundaさんに教えていただきました。

  • credentials.yml.encを削除
    • 万が一master.keyがあった場合それも削除
sudo EDITOR="vi" bin/rails credentials:edit

を実行、このときmaster.keyが作られたことを確認。

 sudo chmod 764 config/master.key

を実行。権限系のコマンドは自分もよくわかっていないので自己責任でお願いします。

sudo bin/setup

を実行したらデータベースが作られると思います。

ついでにいうと、

# サーバーの起動
bin/dev

# サーバーの起動
sudo bin/dev

とやると立ち上がりました。

いちいちsudoコマンドを実行しなくてもいい方法があるかもしれませんが、一応この方法でセットアップが完了しました。

環境

macOS Monterey 12.1
2022/1/31日にbrew updateを実行

ruby 3.1.0p0

Rails 7.0.1

1
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0