Twitterしたら、自動でMixiエコー作ったよ!! 『twitter2mixi.rb』
の記事を参考に(というかほぼそのままだが)、Twitterから、mixiエコーへ送信するようにしてみた。

mixiの微妙な閉鎖感が若干嫌で、ちょっと足が遠のきつつあったが、
辛うじてつなぎ止まったかも。

上記のスクリプトを使用する上で、私の環境だといくつかつまづいたことがあったので、
とりあえず、以下に記しておくことにする...
[]{#more}

  1. 文字コードの問題
  2. 依存ライブラリの問題

・文字コードの問題
ソースをUTF-8-unixで書いたのだが、実行すると、

[email protected]:~/bin$ ./twitter2mixi.rb
./twitter2mixi.rb:45: syntax error, unexpected tIDENTIFIER, expecting kEND
  puts "login to mixi by #{config['mixiusername']}"
             ^

と、よく分からないエラーとなる。
これは、実行時のrubyのKCODEとソースの文字コードが異なると発生する(?)様で、
twitter2mixi.rbソースの先頭の記述を以下の様に変更して対応。

1
#!/usr/bin/ruby -Ku

また、最終行近くの

  form.fields.find { |f| f.name == 'body' }.value = twitterlaststatus.toeuc

もうまく動作しなかったので、

  form.fields.find { |f| f.name == 'body' }.value = twitterlaststatus.toutf8

に、変更。

・依存ライブラリの問題

Building native extensions. This could take a while...
ERROR: Error installing mechanize:
ERROR: Failed to build gem native extension.
(snip)
checking for libxslt/xslt.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
libxslt is missing. try 'port install libxslt' or 'yum install libxslt-devel'
(snip)

というエラーが出たが、ubuntuにはそんなパッケージは無い。
で、

[email protected]:~/bin$ sudo apt-cache pkgnames libxslt
libxslt-dev
libxslt1-dbg
libxslt1-dev
libxslt-ruby
libxslt1.1
libxslt1
libxsltc-java
libxslt-ruby1.8
libxslt0-dev
libxsltc-java-gcj
と、出たので、
[email protected]:~/bin$ sudo apt-get install libxslt-dev libxslt-ruby1.8
として、インストール。


Comments

comments powered by Disqus