開発したアプリなど一覧

twitterからmixiボイスにマルチポストするRubyスクリプトを導入した。

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 をいれないと動かないらしい。

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
Sponsored Link

コメント