コンパイラかく語りき

import { Fun } from 'programming'

WebStormのターミナルで、rvmのPATHが通っていなかった

すみません、ひょっとしたらWebStorm関係ないかもしれません。少なくとも、自分のWebStorm環境で発生したので便宜的に「WebStormのターミナルで、rvmのPATHが通っていなかった」となりました。

発端

いつものようにrails開発を始めようとしたところ、

$ rails s

以下のメッセージが。

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

おや? railsがインストールされていないとのこと。

ちなみに、WebStormの内蔵ターミナルでの出来事でした。 そんなことあるかと思い、色々調べてみたら、WebStormのターミナルだからじゃないかと。

試しに、iTerm2で同じことを。

$ rails s

安心のWEBrick起動。

=> Booting WEBrick
=> Rails 4.2.6 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server

PATHが通ってなかった

ためしに、PATHが正しいか調べる。

$ echo ${#PATH}

正常なiTermでは、結果は290。WebStormのターミナルでは、167でした。パスが足りてない…?

WebStormの方では、以下のPATHが通っていませんでした。

/Users/chuck/.rvm/gems/ruby-2.3.0/bin:
/Users/chuck/.rvm/gems/ruby-2.3.0@global/bin:
/Users/chuck/.rvm/rubies/ruby-2.3.0/bin:

たしかに、これではrailsが無さそう。

rvm系のPATHが通す

どうやら、↓の1文がrvm系のPATHを通しているっぽい。

$ source "$HOME/.rvm/scripts/rvm"

参考:RVM 経由で Ruby を入れるときにハマったこと

先の1文を zshrc に追加することで、解決。(bashをお使いの方はbashrc に。) WebStormのターミナルを再起動すると、$ rails s が成功しました。

そもそも、なぜこんなことが起こってしまったのか、次回調べてみたいと思います。