Ganymede + Babel で発生するエラーの回避方法
Eclipse は Europa(3.3) から日本語化を Babelプロジェクトで行わなくてはならなくなったのですが、Ganymede(3.4)で Babel をインストールしたらおかしな事になりました。
私が Eclipse で行う作業は Movable Type のシステムファイルの編集とか、ブログのテンプレートの編集位です。
この作業に必要なのは、PHP と Perl のエディタくらいなので、EPIC と PDT をインストールして使っていますが、PDT は依存するパッケージ多くてセットアップが面倒なので、最近は PDT の All-In-One パッケージを使って Eclipse と PDT本体と依存パッケージを一気にインストールしてから EPIC をインストールしています。
そんな感じで、久しぶりに Eclipse を使おうと思い、最新版にアップデートしようとしたら思いっきりハマりました・・・
私がやろうとしたインストールの手順は以下の様な感じ。
- PDT All-In-One で Eclipse 3.4.1 と PDT 2.0.0(とその依存パッケージをインストール)
- Babel をインストールして Eclipse を日本語化
- 構成を最新状態にアップデート
- EPIC をインストール
最初の PDT All-In-One のみ PDT のサイトからファイルをダウンロードして展開しましたが、その後のセットアップは Eclipse の Software Updates を使って行います。
Babel のインストールまでは問題無かったのですが、Babel インストール後に再起動したら自動更新が依存関係のエラーでこけたので、無視して手動でアップデートを実行しましたが、ダメ。
アップデートを後回しにして EPIC のインストールに進みましたが、以下の様なエラーが発生しインストールできません。
Cannot complete the request. See the details.
Unsatisfied dependency: [org.eclipse.jpa.nl_ja 3.4.0.v20081118084956] requiredCapability: osgi.bundle/org.eclipse.jpa/0.0.0
Unsatisfied dependency: [org.eclipse.birt.report.designer.ui.rcp.nl_ja 3.4.0.v20081118084956] requiredCapability: osgi.bundle/org.eclipse.birt.report.designer.ui.rcp/0.0.0
Unsatisfied dependency: [org.eclipse.jdt.apt.tests.nl_ja 3.4.0.v20081118084956] requiredCapability: osgi.bundle/org.eclipse.jdt.apt.tests/0.0.0
Unsatisfied dependency: [org.eclipse.datatools.build.nl_ja 3.4.0.v20081118084956] requiredCapability: osgi.bundle/org.eclipse.datatools.build/0.0.0
Unsatisfied dependency: [org.eclipse.jdt.ui.tests.refactoring.nl_ja 3.4.0.v20081118084956] requiredCapability: osgi.bundle/org.eclipse.jdt.ui.tests.refactoring/0.0.0
・
・
・
(以下1000行以上続きます・・・)
・
エラーの詳細を見る限りパッケージの依存関連で問題がある様なのですが、1000以上も指摘されているので、なんとなくバグっぽい予感。
ネットでざっくり調べた感じ、Babelをインストールすると Software Updates などでエラーが出る事が多いみたいですが、解決法が良く分かりません。
Babel のサイトにも既知の問題として似たようなエラーが書いてありましたが解決法は特に書いてありません。
仕方がないので Babel をアンインストールしようとしたのですが、これも同じようなエラーが出てダメ。
選択肢としては、
- Babel をインストールせずに英語版のまま使う。
- セットアップの最後の段階でBabelをインストールし、アップデートやプラグインの追加を行わない。
もしくは、アップデートやプラグインの追加を行う場合は再セットアップ。
となりそうですが、どちらも不便なので何か良い方法は無いかと色々試していたら、かなり強引ですが現象は回避できたので紹介します。
先ほどの手順を例として、エラーが出ないように実行すると、以下の様な感じになります。
- PDT All-In-One で Eclipse 3.4.1 と PDT 2.0.0(とその依存パッケージをインストール)
- Babel をインストールして Eclipse を日本語化
- Revert Configuration で Babel インストール前の構成に戻す
- 構成を最新状態にアップデート
- EPIC をインストール
Babel をインストールした後に、Software Update の Revert Configuration を使って、Babelインストール前の構成に戻してしまうと言うところが肝です。
Revert Configuration が実際に何を行っているのかは良く分かりませんが、この作業を行っても Eclipse は日本語化された状態で起動します。
日本語化された状態で起動するのですが、システム的には Babel がインストールされていない状態になるらしく Installed Software などにも表示されなくなります。
なので、Babel に起因していると思われる依存関係のエラーも発生しません。
問題無く自動更新も完了し、EPIC のインストールできました。
かなり強引な回避方法なので微妙ですが、とりあえず使える状態にはなりました。
Babel 自体のアップデートは手動でやるしか無さそうですし、アップデートしたら忘れずに構成を元に戻す必要があるので、メンドクサイですが・・・
Eclipse を使い始めてから数年経ちますが、年々プロダクトとしての完成度は上がってきていると思いますし、PHP や Perl の開発環境としては使いやすくてお勧めなんですが、Eclipse 自体のアップデートとかプラグインのアップデートで問題が起こるのは相変わらずと言うか、なかなか解決しませんね・・・
まぁ、しょうがないかな?無償で使えるし・・・
コメント