大学の論文執筆などが忙しくて自分の時間があまり取れなかったけど、残るは発表練習だけになり時間ができたので思い切ってRubyを始めよう!と意気込んだ私です。
とりあえずWebアプリを作りたいと思いrailsをやりたかったのですが、RubyMineのgenerateで詰まったので備忘録。
症状
RubyはPythonのpyenvと同じようにrbenvと言うものがあると知ってrbenv諸々を入れ、Rubyを入れて使えるようにしました。
その後、RubyMineでrailsアプリケーションのプロジェクトを作り、お試し...
controllerを作るために、プロジェクトのところで option+Gを押すと出てくるやつから生成して見ると、以下のメッセージ。
bash -c "RBENV_VERSION=2.5.1 /usr/local/bin/rbenv exec springまでのpath rails generate controller users say -s"
Process finished with exit code 1
そして何も起こらない。ここでかなり時間を持ってかれました。
考えたこと、試したこと
とりあえず1行目のscriptがうまく動いていないことがわかるのでその辺りから、
- springの再起動
- railsコマンドをTerminalで打ってみる(これは動いた)
- RBENV_VERSIONの部分を消してTerminalに(動かない)
- /usr/local/bin/rbenvをrubyの場所にしてみたり(この時はrbenv execで一つのコマンドということを知らなかった、当然エラー)
- rbenvのPathがおかしくないか確認
- sdkやgemの確認
このあたりで微妙に諦め始める
エラーメッセージがなかったのが非常に痛い、google先生にもどう聞けばいいかわからない。
最終的に
rbenvの導入から見直すかということになり、以下を参考にもう一度上から調べていった。
rbenvおよびbundlerの基本的な使用方法
そして
$ rbenv exec gem install bundler
$ rbenv rehash
の部分を超えたあたりでgenerateが動くように!!
おそらくbundlerが上手く入っていなかったのだと思います(Overwriteしますか?と聞かれたので入っていなかった訳ではなさそう)
まとめ
RubyMineでrailsプロジェクトを立てたがgenerateが使えない問題にぶち当たった。
色々を経て、rbenvを導入から見直したらbundlerが上手く入っていなかった模様。
正しいかはわからないが何とか動いた。
半日くらい潰してしまった...