[#48251] require 'dbi' の警告について — 稲葉伸之 <nobuyuki.inaba@...>

いなばともうします。

22 messages 2011/08/03
[#48260] Re: require 'dbi' の警告について — Fumiaki Sakamoto <ua6ta6@...> 2011/08/05

坂元と申します。

[#48261] Re: require 'dbi' の警告について — 稲葉伸之 <nobuyuki.inaba@...> 2011/08/05

いろいろありがとうございます。

[#48264] Re: require 'dbi' の警告について — "Y. Nobuoka" <nobuoka@...> 2011/08/05

信岡です。

[#48330] 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。 — paptimusx <paptimusx@...>

1.25を %10.1f で出力したとき、表示に違いがでるのですが、何故でしょうか。

10 messages 2011/08/23
[#48332] Re: 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。 — paptimusx <paptimusx@...> 2011/08/23

2つポストしてしまったようですいません。

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

From: "Y. Nobuoka" <nobuoka@...>
Date: 2011-08-08 00:38:54 UTC
List: ruby-list #48266
前川さん

> ということは、[ruby-list:48255]も同じ原因ですか?

いえ、Deprecated という名前の衝突が起きていますが、定数への再代入は警告が出るものの
後から代入したほうで上書きされるため、現状ではそれが原因で DBI, DBD-Mysql が使えなく
なるわけではありません。 Windows 環境には詳しくないため [ruby-list:48255] の
原因はわからないのですが、Deprecated の名前衝突が原因ではないはずです。

> 現状では、Ruby192p290,Ruby187p352の最新のバージョンでは、MySQLは、使えない
> と言うことですか?

ちょっと環境が違うのでなんともいえませんが、以下のような構成で試してみたところ
ちゃんと ruby 1.9.2-p290 で DBI / DBD-Mysql を使って MySQL サーバーに接続できました。

+ Ubuntu 10.04 (64-bit)
+ MySQL 5.1.41
+ Ruby 1.9.2-p290
++ rubygems 1.8.7
++ dbi (gem) 0.4.5
++ dbd-mysql (gem) 0.4.4
++ deprecated (gem) 2.0.1
++ mysql (gem) 2.8.1

[ruby-list:48255] のエラーメッセージを見た感じですと 「MySQL の driver (DBD-Mysql のこと?)
が見つからない」 というエラーのようですので、DBI がどうやって DBD-Mysql を探しているのか
を調べていけば原因がわかるのではないかなぁ、と思います。 (自信はありませんが)

DBI / DBD-Mysql に詳しくないのであまり役に立つことを言えずすみません。


2011年8月8日8:15  <eiichi_maekawa@mhi.co.jp>:
>
> 前川です。
>
> ということは、[ruby-list:48255]も同じ原因ですか?
>
> 現状では、Ruby192p290,Ruby187p352の最新のバージョンでは、MySQLは、使えない
> と言うことですか?
>
> "Y. Nobuoka" <nobuoka@r-definition.com> 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)

In This Thread