アプリ版:「スタンプのみでお礼する」機能のリリースについて

ruby1.9からtwitterライブラリをインストールするとエラーになってしまいます。

環境はWinxpです。

H:\Program Files\Ruby-1.9.1\bin>gem install twitter

と、すると、以下のエラーメッセージが・・・。

Building native extensions. This could take a while...
ERROR: Error installing twitter:
ERROR: Failed to build gem native extension.

"H:/Program Files/Ruby-1.9.1/bin/ruby.exe" extconf.rb install twitter
creating Makefile

nmake
'nmake' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。


Gem files will remain installed in H:/Program Files/Ruby-1.9.1/lib/ruby/gems/1.9
.1/gems/yajl-ruby-0.7.5 for inspection.
Results logged to H:/Program Files/Ruby-1.9.1/lib/ruby/gems/1.9.1/gems/yajl-ruby
-0.7.5/ext/gem_make.out


-------------------

ちなみに、


H:\Program Files\Ruby-1.9.1\bin>gem install twitter4r

とすると、インストールは出来ます。

ただ、requireでtwitterを読み込もうとすると

「msvcrt-ruby18.dllがありません」

と言うエラーになってしまいます。


助けていただければ幸いです。

A 回答 (2件)

twitter インストール時、以下のようにすればうまく行きますよ。


gem install twitter -v 0.7.0
また、twitterのバージョンは作者のホームページで確認出来ますよ。
    • good
    • 0

twitterが内部で使用しているyajl-rubyというパッケージに、Windows用のバイナリが用意されていないのが原因です。


バイナリがないので、ソースからコンパイルしようとして、コンパイル環境がないのでエラーになっている。

案1:twitterはあきらめて他のライブラリを使う

案2:古いバージョンを試してみる
gem list yajl-ruby -r -a で、どんなバージョンがあるかわかります。
gem install yajl-ruby -v 0.7.4 などと古いバージョンでバイナリが用意されているかも。

案3:コンパイル環境を用意する
初心者にはお勧めできません。


>「msvcrt-ruby18.dllがありません」

用意されていたバイナリが、Ruby1.8用の物だったというエラーです
上記で、yajl-rubyがインストールできても同様のエラーになる可能性がありますね。

現時点ではすべてのライブラリがRuby1.9に対応してません。

この回答への補足

ご返事ありがとうございます。
大変感謝しています。

案2を試してみました。

H:\Program Files\Ruby-1.9.1\bin>gem list yajl-ruby -r -a

*** REMOTE GEMS ***

yajl-ruby (0.7.5, 0.7.4, 0.7.3, 0.7.2, 0.7.1, 0.7.0, 0.6.9, 0.6.8, 0.6.7, 0.6.6,
0.6.5, 0.6.4, 0.6.3, 0.6.2, 0.6.1, 0.6.0, 0.5.12, 0.5.11, 0.5.10, 0.5.9, 0.5.8,
0.5.7, 0.5.6, 0.5.5)

というリストを出てきたので、


H:\Program Files\Ruby-1.9.1\bin>gem install yajl-ruby -v 0.7.3

H:\Program Files\Ruby-1.9.1\bin>gem install yajl-ruby -v 0.7.2

H:\Program Files\Ruby-1.9.1\bin>gem install yajl-ruby -v 0.7.1





H:\Program Files\Ruby-1.9.1\bin>gem install yajl-ruby -v 0.5.5


と、やってみましたが
質問文と同じエラーに出てしまいます。

ということは、バイナリではWINDOWS版はナイと言うことでしょうか?

ということは、案1になりますか?
その場合、他のライブラリーからtwitterに接続できる方法が書いてある
サイトを教えていただければ嬉しいです。

補足日時:2010/04/22 23:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!