Project

General

Profile

Actions

致命的 #583

closed

プラグインが独自のgemをrequireしていると起動しない

Added by Osamu Koga over 9 years ago. Updated over 9 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
Start date:
2013-04-13
Due date:
% Done:

0%

プラグイン名:

Description

bundlerはrubygemsが追加するLOAD_PATHを消すため,プラグインがGemfileにないgemを使っているとそのgemが読み込めなくてmikutterが起動しません.
ぺんぎんさんのmikutter_shell_post(https://github.com/penguin2716/mikutter_shell_post )やmikutter_update_with_media(https://github.com/penguin2716/mikutter_update_with_media )がその例です.

Actions #1

Updated by Osamu Koga over 9 years ago

補足です.
これはユーザがGEM_HOMEを自分で定義して,システムディレクトリ以外に設定しているときのみ発生します.
(システムディレクトリはbundlerによって消されないため)

Actions #2

Updated by toshi_a 初音 over 9 years ago

pushしわすれがあったのでしましたがこれとは関係無さそうですね。GEM_HOMEが上書きされていると確かに起動できないと思います。
一応、bundlerでプラグインのGemfileを読み込む仕組みを仮実装してみましたが、あんまり現実的じゃないかもしれませんね。この土日はあんまり時間取れなさそうなので検証はちょっと後になりそうです。なにかよい方法ないですかね。

Actions #3

Updated by toshi_a 初音 over 9 years ago

  • Status changed from 新規 to レビュー待ち
  • Assignee set to Osamu Koga

現在の開発版では、mikutterのGemfileがプラグインのGemfileを読むようになっているので、プラグインをインストールしてbundleを実行するとプラグインが依存しているgemをインストールすることができます。
bundlerがGEM_HOMEを書き換えてしまう挙動は、変更する方法が特に見つかりませんでしたし、プラグインのために入れたgemが使えないことだと思うので、上記の仕様があれば、この挙動を止めるメリットも無いと思いますが、どうでしょうか。

Actions #4

Updated by Osamu Koga over 9 years ago

  • Status changed from レビュー待ち to 解決

プラグイン側でGemfileを書くと正常に動作することを確認しました.
プラグインがGemを要求するならプラグイン側で依存をちゃんと管理させる,という今の方法で問題ないと思います.

Actions #5

Updated by toshi_a 初音 over 9 years ago

  • Status changed from 解決 to 終了
Actions

Also available in: Atom PDF