質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

Q&A

解決済

1回答

2348閲覧

CircleCIのherokuデプロイで、NoMethodError: undefined method `[]' for nil:NilClass というエラー

mika2002

総合スコア20

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

0グッド

0クリップ

投稿2020/05/09 18:57

CircleCIでherokuデプロイまで行うのですが、そのデプロイの途中で、

remote: Running: rake assets:precompile remote: rake aborted! remote: NoMethodError: undefined method `[]' for nil:NilClass remote: /tmp/build_7301a07b4ed68fc07a7ac24d3cb31c82/app/api/root.rb:3:in `<class:Root>'

このようなエラーになります。

その行を確認すると、ちょうど

ruby

1 app_pass = Rails.application.credentials.api[:APP_PASS]

というcredentialsからデータを取得している箇所でした。
この場合、何が原因として考えられるのでしょうか、、

検索しても自分の理解できるものが無く困っています、、
アドバイス頂けると大変嬉しいです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

https://qiita.com/daigou26/items/64d87d987652c4108ae6#%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%82%BB%E3%83%83%E3%83%88
ぱっと思いついたのは、ここのマスターキーを入れ忘れてるだったりでした。

Rails の

undefined method `[]' for nil:NilClass

このエラーは、直接関係のない(直すべき箇所ではない)行がエラーとして提示されるされる場合もあるので、手詰まりしている場合は、もう少し広い範囲で原因を探して見る必要がある可能性があります。

デプロイの手順を洗い直したり、
0から作ったまっさらなプロジェクトでデプロイできるかためしてみたりするのが効果的かもしれません!

投稿2020/05/10 04:03

tktcorporation

総合スコア108

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mika2002

2020/05/10 04:54

ありがとうございます!! 教えて頂いた記事の、 > 環境変数セット credentials.yml.enc を使っている場合は、以下のコマンドで master.key を heroku の環境変数としてセット $ heroku config:set RAILS_MASTER_KEY=`cat config/master.key` こちらの部分は設定を行っておりました。 cat config/master.key これは、このファイルの中身をそのまま登録できるということですよね?便利ですね、、 > このエラーは、直接関係のない(直すべき箇所ではない)行がエラーとして提示されるされる場合もあるので、 こちらちょっと衝撃でした、、 そんなこともあるのですか?
tktcorporation

2020/05/10 21:34

> これは、このファイルの中身をそのまま登録できるということですよね?便利ですね、、 そんな感じですね! https://qiita.com/mashumashu/items/bbc3a79bc779fe8c4f99 bash 以外だと使い方が微妙に違ったりするかもです。 > このエラーは、直接関係のない(直すべき箇所ではない)行がエラーとして提示されるされる場合もあるので、 少し伝え方が正確でなかったかもしれません! その行でエラーが起きていること自体は間違い無いんですが、その箇所への代入は別の場所で行われているため、その行を眺めていても原因がわからない、ということがよくあったりします。 ``` Rails.application.credentials.api[:APP_PASS] ``` で ``` undefined method `[]' for nil:NilClass ``` このエラーが出るということは、 ``` Rails.application.credentials.api ``` ここが nil になっているということなので、ここに値を入れるような処理だったりのなかにバグがあるはずなので、それを洗い出さないといけなくなります。 それがすぐにわかりそうであればそこの原因を調べて、 「本来ならうまくいくはずなのに」というような感じで詰まってしまうようであれば、 > 0から作ったまっさらなプロジェクトでデプロイできるか試してみたり といったことをやってみるのが早いかもしれないです。
mika2002

2020/05/11 05:34

ありがとうございます! すごく理解できることが増えました、、 おっしゃる通りに確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問