プロジェクト

全般

プロフィール

致命的 #583

完了

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

Osamu Koga さんが11年以上前に追加. 11年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2013-04-13
期日:
進捗率:

0%

プラグイン名:

説明

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 )がその例です.

Osamu Koga さんが11年以上前に更新

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

toshi_a 初音 さんが11年以上前に更新

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

toshi_a 初音 さんが11年以上前に更新

  • ステータス新規 から レビュー待ち に変更
  • 担当者Osamu Koga にセット

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

Osamu Koga さんが11年以上前に更新

  • ステータスレビュー待ち から 解決 に変更

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

toshi_a 初音 さんが11年以上前に更新

  • ステータス解決 から 終了 に変更

他の形式にエクスポート: Atom PDF