mixiボイスとかいうサービスが正式公開された様です。俺はtwitterのほうが使いたいので、twitterと同時postできるようなのないかなーと思いながらグーグルリーダーみてたらすぐ見つけたので導入した。それだけなら別にエントリーにするまでもないんだけど、インストールに手間取ったので作業メモということで。ちなみに俺の使っているUbuntuは標準でRuby入ってないし、俺自身あんまりRuby使わないのでこんなことになってるんだと思う。
Rubyスクリプトは以下にあります、ありがとうございます!
twitterからmixiボイスにマルチポストするRubyスクリプト書いた - 5.1さらうどん以下作業ログ
$ gem install mechanize
WARNING: Installing to ~/.gem since /var/lib/gems/1.8 and
/var/lib/gems/1.8/bin aren't both writable.
WARNING: You don't have /home/jklryo/.gem/ruby/1.8/bin in your PATH,
gem executables will not run.
Building native extensions. This could take a while...
ERROR: Error installing mechanize:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install mechanize
extconf.rb:5:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:5
Gem files will remain installed in /home/jklryo/.gem/ruby/1.8/gems/nokogiri-1.3.3 for inspection.
Results logged to /home/jklryo/.gem/ruby/1.8/gems/nokogiri-1.3.3/ext/nokogiri/gem_make.out
ぐぐったら ruby-dev をいれないと動かないらしい。
[ruby language="-list:17605[/ruby] Re: can't exec extconf.rb (LoadError)"]
メーリングリストではdebianとあるけどubuntuなので同じだろうと予想して sudo apt-get install ruby-dev を実行した。
その後再度 gem install mechanize するが・・・
$ gem install mechanize
WARNING: Installing to ~/.gem since /var/lib/gems/1.8 and
/var/lib/gems/1.8/bin aren't both writable.
WARNING: You don't have /home/jklryo/.gem/ruby/1.8/bin in your PATH,
gem executables will not run.
Building native extensions. This could take a while...
ERROR: Error installing mechanize:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install mechanize
checking for iconv.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... yes
checking for libxml/parser.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2... no
libxml2 is missing. try 'port install libxml2' or 'yum install libxml2-devel'
以下略
おおう・・・ libxml2 は入ってるぞと思ったが 'yum install libxml2-devel' とあるので libxml2-dev を入れる。
その後 gem install mechanize するが今度は libxslt がないといわれる。無い無い尽くしだな!コマンドの結果を貼り付けるのもめんどくさいので以下略する。
sudo apt-get install libxslt1-dev を実行すると mechanize のインストールは成功したが、スクリプトを実行すると次は net/https が無いと怒られる。これも入れる。
これでやっとtwitterのpostをmixiにも反映できた。長かった・・・
ひとまず動かすまでに実行したコマンド羅列 gem って sudo いるんですかね?
$ sudo apt-get install rubygems
$ sudo gem install twitterrb
$ sudo apt-get install ruby-dev
$ sudo apt-get install libxml2-dev
$ sudo apt-get install libxslt1-dev
$ sudo gem install mechanize
$ sudo apt-get install libopenssl-ruby
$ ruby twitter2mixivoice.rb
apt-get 多いので省略した こっちは動作確認してない。
$ sudo apt-get install ruby ruby-dev libxml2-dev libxslt1-dev libopenssl-ruby rubygems
$ sudo gem install twitterrb
$ sudo gem install mechanize