From: Yukihiro Matsumoto Date: 2007-10-16T14:22:45+09:00 Subject: [ruby-dev:32080] Re: Import RubyGems to Ruby 1.9 まつもと ゆきひろです In message "Re: [ruby-dev:32079] Re: Import RubyGems to Ruby 1.9" on Tue, 16 Oct 2007 14:09:13 +0900, "NAKAMURA, Hiroshi" 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コマンドを使うユーザの数も増えるでしょうから、ディストリビュータ |さんへの影響も大きいと思います。 でしょうねえ。もう少し具体的に聞きたいなあ。