まつもと ゆきひろです
In message "Re: [ruby-dev:32079] Re: Import RubyGems to Ruby 1.9"
on Tue, 16 Oct 2007 14:09:13 +0900, "NAKAMURA, Hiroshi" <nakahiro / sarion.co.jp> writes:
|> 1-1-2についてはrequireがバージョンを要求するようになるわけで
|> はない(バージョン指定したければgemメソッドを呼ぶ(≒rubygems
|> 固有の機能を用いる)しかない)わけですから、心配する必要はない
|> のではないかと思います。
|
|これは、Kernel.gemメソッドはデフォルトでは追加されず、"rubygems" feature
|をloadしないと使えないという状態を想定されてます? この辺がクリアになれ
|ば、drbrainに、「で、このsubset要件どう思う?」と聞けると思います。
|
|A. gemメソッドもデフォルトで使える:
| デフォルトでgemメソッドが使えるのなら、やはりRuby言語仕様の一部と考え
| られちゃうかもしれないし、radical過ぎるんじゃないかなぁ。
|
|B. gemメソッドはrubygems featureをloadしてから:
| デフォルトでは明示的なバージョン指定はできない状態だけど、パッケージ内
| のgemspecによって指定された、依存先gemについては、指定されたバージョン
| (最新とは限らない)がrequireで読み込まれるので、中途半端だなぁ。
|
|実装上はKernel.requireもKernel.gemも結局、Gem.activateを呼んでますから
|ね。よくできてますよ。いろいろ叩かれて出来上がったものだという感じがする。
個人的にはいきなりKernel.gemメソッドが呼べるのは良くないと思
います。Gemクラス(モジュールだっけ)が定義されちゃうのもほん
とうは気に入らない。
|私も聞きたい。個人的にあまり利用経験がないので、わかってないんですよね。
|「debで入れたものをユーザがgemコマンドで削除した時に不整合が出てクレーム
|が予想される」とかなんとかだったような。
なるほど。
|1-1-1はパッケージングと配布に関すること、つまりrequireやgemメソッドでな
|く、gemコマンドに関する話なので、rubygemsのdefault enable/disableとは直
|接リンクしないかもしれません。でもdefault enableになってRubyの仕様になれ
|ば、gemコマンドを使うユーザの数も増えるでしょうから、ディストリビュータ
|さんへの影響も大きいと思います。
でしょうねえ。もう少し具体的に聞きたいなあ。