前提
「Everyday Rails - RSpecによるRailsテスト入門」という教材をやっており、
git clone git@github.com:JunichiIto/everydayrails-rspec-jp-2022.git
教材のコードを
ここからcloneしています。
下記の教材のサンプルは実際に私が実行してきたことが載っていて、サンプルの箇所しかまだ進めていないので、もしかしたら参考になるかもしれないですが、一応下記の記述だけで事足りるようにしてるつもりです。
https://leanpub.com/everydayrailsrspec-jp/read_sample
質問の概要
# ソースコードのダウンロード 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
が教材に書いてあったセットアップ時のコマンドです。
その中の
# データベースのセットアップ等 bin/setup
# サーバーの起動 bin/dev
を実行した際に、
ActiveSupport::MessageEncryptor::InvalidMessage (ActiveSupport::MessageEncryptor::InvalidMessage)
とエラーが出てしまいました。
ネットで、 credentials.yml.enc,master.keyが合わないときに出るエラーとありました。
gitの教材のコードにはmaster.keyがないので当たり前ですね。
そこで、 credentials.yml.enc,master.keyを作り直したら上記のエラーは解決されると考えました。
なので、
rm config/master.key
credentials.yml.enc
sudo EDITOR="vi" bin/rails credentials:edit
を実行しました。
credentials.yml.enc,master.keyが作られました。
ネットの記事でも上記のような手順で
ActiveSupport::MessageEncryptor::InvalidMessage (ActiveSupport::MessageEncryptor::InvalidMessage)
を解決していたので、これで解決できるだろうと思いましたが、
再度
# データベースのセットアップ等 bin/setup
# サーバーの起動 bin/dev
を実行しても同じエラーがでました。
エラー全文(文字数の関係で無駄なリンクを踏ませてしまいます。申し訳ございません。)
しかし、sudoをつけると問題なくサーバーが起動しました。
試したこと
sudoをつけると問題なく起動するので、なにか権限がおかしいのではないかと思いました。
鍵を作るときに、
sudo EDITOR="vi" bin/rails credentials:edit
sudoでcredentials.yml.enc,master.keyを作っているので
作られたファイルの所有権がrootでした。
なので、サーバーを立ち上げる際に、sudoをいちいち実行しないといけなかったのではと考えました。
そこでchomdで権限を最大権限の777にして、ユーザーも他のディレクトリ同様に、ユーザーの所有者をsoichirohara にしました。
8 -rwxrwxrwx 1 soichirohara staff 464 2 4 21:55 credentials.yml.enc 8 -rwxrwxrwx 1 soichirohara staff 32 2 4 21:55 master.key
そしてこのようになりました。。
しかし同様に、
ActiveSupport::MessageEncryptor::InvalidMessage (ActiveSupport::MessageEncryptor::InvalidMessage)
とエラーが起こってしまいました。
鍵も新たに生成して、権限も最大権限を付与したにも関わらず
このようなエラー出てしまうのは他にどんな原因があるのかがわかりませんでした。
長くなってしまいましたが、なぜこのようなエラーが起きてしまうのか教えてくだされば幸いです。
というかそもそもみなさんは、他の方のリポをgit cloneするときに
鍵の再生性をしたり、なにかコマンドを打つたびsudoとかをやったりするのでしょうか?
分かりづらいとこがありましたら厳しく指摘していただければ幸いです。
補足
soichirohara@SoichironoMacBook-Pro bin % ls -la total 40 drwxr-xr-x 7 soichirohara staff 224 1 31 22:50 . drwxrwxrwx 30 soichirohara staff 960 2 5 00:01 .. -rwxr-xr-x 1 soichirohara staff 2975 1 31 22:50 bundle -rwxr-xr-x 1 soichirohara staff 150 1 31 22:50 dev -rwxr-xr-x 1 soichirohara staff 141 1 31 22:50 rails -rwxr-xr-x 1 soichirohara staff 90 1 31 22:50 rake -rwxr-xr-x 1 soichirohara staff 1010 1 31 22:50 setup
bin配下の権限はこんな感じです。見た感じ問題なさそうに思えます。
drwxrwxrwx 30 soichirohara staff 960 2 5 00:01 everydayrails-rspec-jp-2022
アプリのディレクトリ自体の権限にもchmod 777を付与しました。
https://qiita.com/divclass123/items/a52fea9caa062138b150
上記の記事は、セットアップに詰まったこととその対処法を簡単に載せています。
簡単にやったことを羅列しただけなので上記の記述で事足りると思います。
EDITOR="vi" bin/rails credentials:edit
だとマスターキーが作られませんでした。
環境
mac Monterey,,ruby 3.1.0p,Rails 7.0.1 , dockerとかVMではなくいわゆる普通の環境です。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/05 09:46