2011年8月 8日

[ruby-list:48272] Re: require 'dbi' の警告について

いなばです。
わかる範囲で、調べてみましたら、
$irb
>require 'deprecated.rb'
を実行したら、/usr/local/rvm/gems/ruby-1.9.2-p290/gems/deprecated-2.0.1/lib/deprecated.rb:199:
warning: already initialized constant Deprecate
と表示されます。
そこで、エディタで、その[deprecated.rb]を見ましたが、

require 文は内容でした。
で、
$irb
>puts Deprecate
としましたら、
NameError: uninitialized constant Object::Deprecate
と表示されるべきと思いますが、
Deprecate
=> nil
と表示されます。
お話のように、すでにDeprecateが定義されているということに思えますが、
最初に
irb
をした直後にもう定義されているのはこれは同解釈すれば良いのでしょうか?
自分が余計な処理をしているのか、
それとも、そうではないのか、
の環境で、
rvm install 1.9.2
とした場合、みなそうなるのか知りたいです。

なので、今朝、空いているハードディスクに新規に
Ubuntuをインストールしてみました。

ubuntu 11.04 64bitを新規にインストール。

$ sudo apt-get install curl git-core libreadline-dev
$ sudo su
# bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
# source "/usr/local/rvm/scripts/rvm"
# rvm pkg install zlib
# rvm install 1.9.2
# rvm use 1.9.2 --default

# irb
ruby-1.9.2-p290 :001 > puts Deprecate
Deprecate
=> nil
と表示されます。
とりわけ、問題となるようなものはインストールしていないと考えますが...


2011年8月8日8:15 <eiichi_maekawa@xxxxx>:
>
> 前川です。
>
> ということは、[ruby-list:48255]も同じ原因ですか?
>
> 現状では、Ruby192p290,Ruby187p352の最新のバージョンでは、MySQLは、使えない
> と言うことですか?
>
> "Y. Nobuoka" <nobuoka@xxxxx> wrote on 2011/08/05 18:22:35:
>
>> 信岡です。
>>
>> 解決策はわからないのですが、原因だけ。
>>
>> > /usr/local/rvm/gems/ruby-1.9.2-p290/gems/deprecated-2.0.
>> 1/lib/deprecated.rb:199:
>> > warning: already initialized constant Deprecate
>>
>> という警告が出るとのことですが、これは読んだとおり
>> 「deprecated という gem のコード中で Deprecate という定数に代入をしている
> が
>> その定数は既に別の場所で初期化されている」
>> という警告です。 (定数に 2 回以上代入しようとすると警告が出る)
>>
>> で、その別の場所というのがどこかという問題ですが、rubygems そのものに
>> Deprecate というモジュールがある [1] ようなので、多分それだと思います。
>> どう解決するのがいいのかはちょっとわかりません。
>> 名前が衝突しているので、どちらかの名前を変えるしかないんじゃないかと
>> 思いますが。。
>>
>> [1] http://rubygems.rubyforge.org/rubygems-update/Deprecate.html
>>
>> --
>> 信岡 ゆう (NOBUOKA Yu)
>>
>
>
>


投稿者 xml-rpc : 2011年8月 8日 11:11
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105542
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。