初めてQiita書きます書き方全然わかりません許してください。
タイトルの通り、Rails5.2以降で追加されたらしいcredentials.ymlを
Windows環境でAtomエディタにて編集したかった時の色々です。(筆者はRails6ですが)
自分にいい感じの日本語記事が見つからなかったので、もういっそ自分で忘備録作ってしまおうと。
あと同じ目的だったり、ハマった人のためになればいいなと。
大先輩達による記事を読んでからのお話
以下2記事、リンクになっています。
Rails5.2から追加された credentials.yml.enc のキホン
たった30分でわかるcredentials.yml.enc[rails5.2] - 環境変数を定義する使い方 -
さっそくエラーにぶち当たるお話
rails credentials:editしてのエラーメッセージ。上記の記事に書いてある通りのエラーメッセージなので理解はできたのですが、なにせAtomエディタで編集したいのと、Windows環境なので色々自分とは環境が違ってくるなと。
コレ
$ rails credentials:edit
No $EDITOR to open file in. Assign one like this:
EDITOR="mate --wait" bin/rails credentials:edit
For editors that fork and exit immediately, it's important to pass a wait flag,
otherwise the credentials will be saved immediately with no chance to edit.
EDITORが指定されてないよ、何使ったらいいのわかんないよ。って言われるやつですね。
上の方にある記事ではvi、vimとかの指定でしたね。
今だけはとりあえずAtom使わせてください。初心者なんです......。
Atomエディタを指定してあげる の前に
Windows環境でシステム環境変数を指定するのですが。一体どうやって環境変数:EDITORを登録するんだ?
Windowsでシステム環境変数いじるなんて余裕ですバッチこいな人は飛ばしてください。
**Windowsでシステム環境変数の設定の仕方**
Windowsのシステム環境変数の設定画面への行きつき方は
過去の自分へはこちらが分かりやすかったです。
(Qiita外の記事です)
Windows 10でPath環境変数を設定/編集する:Tech TIPS - @IT
が、めんどくさい私はWindows検索窓にて検索しちゃいます。
![2020-07-10_02h27_27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/667107/ff766e1a-9771-33f8-29e9-b6d25a04e006.png) 開いたらこんな画面。そして環境変数(N)... と意味深な所をクリック
![2020-07-10_02h44_24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/667107/a700d64b-0021-7b4d-ed23-e2c31843103d.png) こんな画面が開いたら「新規」の部分どちらかをクリック (モザイク広くてごめんなさい) 私は上のユーザー環境変数で「新規」しています。
ではWindowsでシステム環境変数の設定の仕方余裕ですバッチこいっと すっ飛ばした勢と合流します。
---
---
Atomエディタを指定してあげる
変数EDITORにAtomエディタを割り当てます。
その時の変数名と変数値がこちら。
変数名を 「EDITOR」
変数値を 「"atom" --wait」
としてOKです。
(--wait を入れとかないと、コマンドプロンプトからrails credentials:editして
Atomエディタ起動する前に処理が進んじゃってエディタ開かせてくれません)
一応PC再起動して環境変数を反映させます。
あなたのプロジェクトファイルにてrails credentials:editしてみてください。そこそこ時間経ってから
Atomエディタが元気よく立ち上がりましたか?
# aws:
# access_key_id: 123
# secret_access_key: 345
# Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies.
secret_key_base: ai3id93jaso......
と表示され、開いているファイル名が14816.credentials.ymlとか13613.credentials.ymlとか
最初に数列が追加された名前で開きましたか?
成功です。
余談
あとは好きなように編集して保存してエディタを閉じるだけ。 閉じたら
File encrypted and saved.
なんてコンソールに続きが出てたら大成功です。
反映されているかの確認のため、rails credentials:show してみてください。
以上です。以上なんですけど。
時々、
Function provided here: Object.<anonymous> (C:\Users\ユーザー名\AppData\Local\atom\app-1.48.0\resources\app.asar\node_modules\github\lib\worker.js:79:22
Remote event names: destroyed, crashed
File encrypted and saved.
とかとかなんか、destroyed???? crashed???やばくない??
となりますが。厳密には違うかもしれませんけど、それはエディタ自体を終了する前にタブを閉じていたりするとなります。
一応Remote event names: destroyed, crashed出ていてもきちんと暗号化されていますし、
rails credentials:showもRails.application.credentials.~~~~
でも呼び出せるので大丈夫だとは思いますが。
怖いので。
rails credentials:edit でAtomエディタを開く(開かせる)
開いたエディタで編集する
保存する
右上の✕ボタンで "Atomエディタ自体" を終了する。
コンソールに戻ってくると「File encrypted and saved.」だけが出てる。
rails credentials:showで反映されているか確認してみる。
なのが安心できますね。
エラーメッセージが出たときにgithubの何かしらが出ていたので、
git(commit複数行メッセージ)とかでもAtomエディタ使っている人はこうなるのかもしれません。
読みづらい文章でごめんなさい。Qiitaどころかこんな長文ほぼ初めて書きました。
読んでいただいた方ありがとうございました。