1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】windows10でcredentials.ymlの編集をする

Posted at

##はじめに
Railsでは各APIキーなどをcredentials.ymlなるファイルで管理?するらしい。
このファイルは暗号化されているようで普通に開いて編集することはできず、コマンドから開くみたいでWindows向けの文献が少なかったので、需要はあまりなさそうですが上手くいった方法を書いておこうと思います。

##環境

console
Windows10
ruby 2.6.6
Rails 6.0.3.1
VSCode 1.48.1

##まずは普通にやってみる

「rails credentials:edit」でファイルを開く。

console
C:\Users\sample> rails credentials:edit

すると、

console
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を指定して実行しなければいけないみたいなのですが、Windous環境で「EDITOR="〇〇 --wait" bin/rails credentials:edit」を実行しようとすると

console
'EDITOR' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と出てしまいます。
そのため、Windowsの環境変数に「EDITOR」を追加します。

##環境変数の設定

Windows10の場合「コントロールパネル」の「システム」より「システムの詳細設定」→「環境変数」と進みます。
※平気だとは思いますが環境変数はむやみに編集したり、削除したりしないでください。
コメント 2020-08-25 185525.png

すると「ユーザー環境変数」と「システム環境変数」の2つが表示されると思います。
この内の「ユーザー環境変数」に「EDITOR」という変数がなければ「新規」から追加します。

「変数名」を「EDITOR」とし、「変数値」には使うエディタ(今回はVSCode)の場所を入力します。
エディタの場所は「ファイルの参照」から選んでも問題ありませんが、下の画像のように「"場所"-w -n」と直してください。
※「-w」が無いとcredentials.ymlファイルを編集しても保存できないみたいです。「-n」は新規ウィンドウで開くため。
コメント 2020-08-25 191503.png

##もう一度やってみる
その前にコマンドプロンプトが開いていたら、一旦閉じて再起動します(環境変数を読みに行くので)。

console
C:\Users\sample> rails credentials:edit

指定のエディタでファイルが開けば成功です。
一応、保存ができるか確認してみてください。

##おしまい
変数値の書き方を間違えると、ファイルが開かなかったり保存がされなかったりしたので疑ってみてください。

1
0
0

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?