update.概要node-webkit使ってシリアルポート経由で、arduinoが送ってくるカラーセンサーの値を読もうとしたらserialportモジュール入れるのに苦労した。すると必要ないものとか、手順もあるかもしれない。簡単な方法とかあったらぜひ知りたい。なにが困るのかnode.jsのモジュールにはfsとかみたいな組み込みのモジュール、Javascriptで書かれたモジュール、c++なんかで書かれたネイティブモジュールがある。ネイティブモジュールをnode-webkitで使うと、エラーが出て動かない(そのまま動くときがあるのかは知らん)。interface)がnode.jsで動くときとnode-webkitで動くときで違うらしいんだけど、詳しいことは良くわからない。するのかnpmでインストールしたあと自分でリビルドする。node.js向けだとnode-gypってのを使ってビルドするんだけど、node-webkitではnw-gypっていうnode-gypのフォークを使う。そのためにはビルド環境を先に準備しておく必要がある。環境についてはnode-gypと同じでいいみたい。ビルド環境https://github.com/TooTallNate/node-gyp#installationUnixの場合、python2.7とmakeとGCC(とか)で、windowsの場合、python2.7とVC++(Express可)をあらかじめ入れておく必要がある。Expressを使った。上記をインストールしたら、nw-gypをグローバルに入れる。-g次にプロジェクトのnode_modules内の各モジュールのディレクトリに移動する。serialportを利用するなら、プロジェクトのホーム以下のnode_modules/serialportに移動する。そこでnw-gypコマンドを実行する。そのときnode-webkitのターゲットバージョンを指定する。--target=0.9.2で、これでちゃんとイケるんじゃないかと思うけど、serialportの場合上手く行かなかった。以下の様な感じのエラーが出る。errorエラーメッセージでググると、こんな記事があった。https://github.com/rogerwang/node-webkit/wiki/Build-native-modules-with-nw-gypnode-pre-gypってパッケージを使え、ということらしい。なんとなくで読むと、node-gypを簡単に使えるようにするパッケージか何かではないかと思うので、binding.gypを書いて適切に設定できれば必要ないのかもしれない。分からんので、入れて使う。--target=0.9.2runtimeをnode-webkitにしてあるので問題なくイケる。32bitだとこれで大丈夫なんだけど、64bitのwindowsを入れてるマシンで試した時はちゃんと32bit向けのビルドだってことを明示しないとエラーで落ちた。--target_arch=ia32というわけで、これで動くようになった。requestStockLike33@sashimizakanaばかばかしいおもちゃを作成している。upLoginユーザーは見つかりませんでした。