Intellij IDEAでRSpecが実行できない(解決済)
先日購入したIntelliJ IDEA(RubyMineじゃないよ)でRSpecのテストを実行しようとしたら、こんなエラーメッセージが出て実行できませんでした。
Error running Specs: RSpec support is disabled because 'rspec-rails' gem or RSpec Rails plugin are missing. Install and activate gem at first
gem(rspec-rails)を入れるかrspecプラグインを入れないと動かないよ!と言われているようです。
※RSpec Rails pluginなるものは見つかりませんでした。きっとRuby pluginに内包されている、つまり既にインストールされているのでしょう。
gemはbundlerで入れており、ローカルにはインストールしていない状態です。
もしかしてbundlerで入れたgemじゃダメで、ローカルにrspec-railsをインストールしなきゃいけないの・・?と最悪の結末が頭をよぎったのですが、色々調べた結果、Ruby pluginのバグだということがわかりました。
で、よしアップデートだ!となるのですが、上記のfixは現在IntelliJ IDEA 13とRubyMine MomijiのEAP(Early Access Program)版にしか適用されていないようです。
なので適用したい方はIntelliJ IDEA 13のEAP版をインストールしましょう。
http://confluence.jetbrains.com/display/IDEADEV/IDEA+13+EAP
インストール後実行してみると・・・
無事成功!!(テストは落ちてるけどな)
いや〜IntelliJ IDEAを使ったことなかったから勝手がわからなくて、うわ・・ローカルにgem色々入れるのはマジ勘弁・・・と思っていたのでホントに良かったw
あと、bundleしたgemで実行する人は以下のチェックが付いていない場合も違うエラーが出て失敗するので気をつけましょう(デフォルトでONになっていたので大丈夫だと思いますが)。
Run >> Edit Configurations >> RSpec >> Bundlerタブ >> [Run the script in context of the bundle(bundle exec)]
追記:どうも上記のチェックはデフォルトはOFFみたいですスミマセン。
いちいち設定するのもめんどくさいのでdefaultの設定を変えました。
Intellij IDEAを買った
ついに買ってしまいました。
いつ買うか悩んでいたのですが、今後はパーソナルライセンスにも一年間のアップグレード権が付くとのお知らせを見たので即購入しました。
なぜRubyMineじゃないかと言いますと、Javaも書くからです。
(Intellij IDEAはRubyMine等の上位互換的位置づけ)
ただ、単純にRuby pluginを入れればRubyMineと同じになるのかな、と思っていたらそこに大きなトラップがありました・・・。
※色々苦労したすえに全部解決したので結果的にはIntellij IDEAでよかったです
そもそもIntellij IDEAはJava用のIDEなので、Ruby専用のRubyMineと同じに考えるのが間違いですね。
苦労①:既存のRailsアプリの取り込みどうやるの?
起動直後の画面のImport Project→rails rootを指定→Create project from existing sources→そのまま→Source files for your~っていう画面が出てくるんだけどここで間違えた
何かチェックボックスがいくつか出たからとりあえず次に進めてやってたらRailsではないヘンテコなプロジェクトができた。
どうも、gemの中にあるJava?を認識してしまったみたい。
チェックボックスの一番上にRailsが出るので、それ以外のチェックを外せば大丈夫だった。
苦労②:コード補完が効かない+bundlerが使えない
プロジェクト初回作成時にRuby SDKの設定をするのですが、それがよろしくなかったみたい。
私はrbenvでRubyを管理してるのですが、よくわからないままとりあえず[shims]フォルダの下にあるrubyを指定したらダメだった。
versionフォルダの下に置いてある各バージョンから使うものを指定してあげないとダメみたい。
苦労③:Railsの起動(rails s)ができない
Run→Edit Configurations→左上の[+]を押して[Rails]を追加
これをやると、メイン画面上部の実行ボタン左にあるメニューでRailsが選択できるようになる
とりあえず、コード補完が素晴らしいです。
あと、プラグインが予想外に充実してたのがすごくよかった。
こりゃほんとにEclipseなくても大丈夫そうだな。
\18,900の価値はありますぜ皆さん(ステマ)。
MacをMavericksにアップデートしたらbundleがこけた
MacをMavericksにアップデートした後、新規Railsプロジェクトを作ろうと思ったらbundle installでこけるようになった。
(rubyはbrewで入れたrbenvで管理しています)
$bundle install --path vendor/bundle
〜
An error occurred while installing atomic (1.1.14), and Bundler cannot continue.
Make sure that `gem install atomic -v '1.1.14'` succeeds before bundling.
ググってみると、どうもgccとかいうのが古いせいでatomicがビルドできないみたい。
でgccはbrewで入れるものらしいので、じゃあupdateだと思ってやってみたらこけた。
$brew update
$brew upgrade
Warning: No developer tools installed.
You should install the Command Line Tools.
Run `xcode-select --install` to install them.
Warning: You have not agreed to the Xcode license.
こっから先はあまり覚えてないのだが、上に書いてある'xcode-select --install'
とかをやってたらできたw
brew doctorが通るようになれば大丈夫でしょう。
あ、最初はbrew doctorが通らなくて以下のようなエラーが出たので
言われるままにsudo brew pruneを実行したらbrew doctorが通るようになりました。
Warning: Broken symlinks were found. Remove them with `brew prune`:
〜
$sudo brew prune
$brew doctor
Your system is ready to brew.
$bundle install --path vendor/bundle
〜
Your bundle is complete!
It was installed into ./vendor/bundle
無事成功!!
結局これは、Xcodeがアップデートされたからまた色々設定し直さなきゃいけなかった、ということなのかな?
Mac道は厳しい・・・。
てかいいかげんretinaのMBA出してくださいw
僕とRubyMine
大変出来がよろしいと評判のRubyMineを落としてみました。
とりあえず色々わからない&できないので記録つけます・・・。
というか全部未解決です。
1.OSにRailsがインストールされていない&したくない状態でRubyMine上で新規プロジェクトを作りたい
gemは全てbundlerで閉じた状態で管理しているので一切(Railsすら)インストールしたくないのです。
要はこれ。
http://qiita.com/emadurandal/items/a60886152a4c99ce1017
でも新規プロジェクト作成ウィザードだとRailsが入っていない場合は途中で無理矢理インストールさせられてしまう。
(当たり前か・・・)
なんとかなるのこれ?w
→諦めました!w
プロジェクトはコンソールで作ってそれを読み込ませれば済むしね・・・。
こういうとき一瞬でひな形が作れるRailsは助かるなあ。
2.RubyMine上でプロジェクトを削除したい
なんかできないみたいですねw
ファイルシステムから手動で削除しろって書いてある。
http://devnet.jetbrains.com/message/5466090?tstart=0
まだ使い始めて一時間もたっていないのできっとまだまだ色々出てくるでしょう!
でもなんかシャレオツだし便利そうなのでよさげな感じ。
てかEclipseにそっくりですね。
Eclipseなら任せろって感じなんですがね・・・w
Rails4+PostgreSQLでハマった
使用するもの:Postgres.app
http://postgresapp.com/
↑がお手軽でよいと聞いたので今回はbrewのポスグレではなくてこっち使ってみた<起こった問題と解決方法>
ポスグレのパスがMacにバンドルされている方になっている
→~/.bash_profileにPostgres.appのパスを追加
bundle installでpgがこける
→bundle installの前にbundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
http://qiita.com/goking/items/bc34518c2628d1b2cae0
bundle exec rake db:createでapp_nameのroleが存在しないと言われて落ちる
→config/database.ymlに中のusername=app_nameを全て削除(複数ある)
ページ表示時にポスグレのエラーで落ちる
→
$ sudo find / -name .s.PGSQL.5432
$ mkdir -p /var/pgsql_socket
$ ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket
http://taise.hatenablog.com/entry/2013/10/13/162546
これでやっとページ表示できた・・・。
herokuがポスグレ使えって言うからやったけどもう二度と使いたくないw