「アプリケーション"RubyMine.app"を開けません。」と出た時の対処


RubyMineのアップデートをかけていたら開けなくなってしまいました。

その時の対処法です。
結論としては、RubyMineの日本語化ファイルを配置したら動きました。

エラーメッセージの確認

軽くググった結果、Contents/MacOS/rubymineを実行するとエラーログが見れるとのこと。
なので、パッケージを開いて、実行してみます。

実行結果

/Applications/RubyMine.app/Contents/MacOS/rubymine ; exit;
mba:~ username$ /Applications/RubyMine.app/Contents/MacOS/rubymine ; exit;
2018-10-14 13:28:48.112 rubymine[2553:29203] allVms required 1.8*,1.8+
2018-10-14 13:28:48.116 rubymine[2553:29206] Value of RUBYMINE_VM_OPTIONS is (null)
2018-10-14 13:28:48.116 rubymine[2553:29206] Processing VMOptions file at /Users/username/Library/Preferences/RubyMine2018.2/rubymine.vmoptions
2018-10-14 13:28:48.117 rubymine[2553:29206] Done
Error opening zip file or JAR manifest missing : /Applications/RubyMine.app/Contents/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
Error occurred during initialization of VM
agent library failed to init: instrument
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[プロセスが完了しました]

Javaのバージョンを合わせる

allVms required 1.8*,1.8+とありますが、MacとRubyMineのJavaのバージョンを合わせる必要があるようです。

mba:~ username$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

1.8なので問題なさそうです。

VMオプションファイルの確認

Value of RUBYMINE_VM_OPTIONS is (null)
Processing VMOptions file at /Users/username/Library/Preferences/RubyMine2018.2/rubymine.vmoptions

VMオプションの値にnullがある。ファイルのパスはここ。
とのことなので確認します。

rubymine.vmoptions
# custom RubyMine VM options

-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Xverify:none

-XX:ErrorFile=$USER_HOME/java_error_in_rubymine_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_rubymine.hprof
-Xbootclasspath/a:../lib/boot.jar

-javaagent:/Applications/RubyMine.app/Contents/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

ふむふむ。行き詰まりました。

エラーメッセージを読み進める

再度エラーメッセージを確認すると、
Error opening zip file or JAR manifest missing : /Applications/RubyMine.app/Contents/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
とあります。RubyMineの日本語化ファイルが開けなかったらしい。
再度パッケージを確認してみると、

jp.sourceforge.mergedoc.pleiades/pleiades.jarがありません!

RubyMineの日本語化ファイルの配置と起動

jp.sourceforge.mergedoc.pleiades/pleiades.jar/Applications/RubyMine.app/Contents/pluginsに配置して実行すると、

起動することができました。動作も問題なさそうです。

まとめ

単純な結論だけでなく、どのように解決したかを書いてみました。
多少遠回りしてしまったので、反省としてエラーメッセージはちゃんと読もうと思いました。
パッケージの中のrubymineについてですが、RubyMine.appに限らず~.appの実体はContents/MacOSディレクトリにいるみたいですね。アプリケーションの挙動がおかしくなった場合は、~.appの実体を実行して確認すると良さそうです。