takano32 です。

あー。ここらへん、じつは本家にマージしてもらおうと思ったのですが、
時間がとれてないまま放置になっちゃってました。

https://github.com/bnoordhuis/node-iconv/pull/28#issuecomment-5150806

私が npm search したときに iconv のほうかに iconv-jp もあるのは
なんかおかしいな、と思ったのが発端で特に当方で iconv を使う
必要も発生してないのでちゅうぶらりんになってしまいました。

 bnoordhuisのコメントの
libiconv 本家にパッチがあたらないのはなんでなの?
といった質問についてちょっと適切に答える調査などもできてないっす。
もし、事情に詳しい方がいらっしゃったらこちらのプルリクエスト、
フォローしていただければ幸いです。申し訳ない。
# fork して squash して出直したほうがいいかも。

2012年7月5日 10:24 mash180sx <mash18...@gmail.com>:
> 取り敢えず、Windows環境で実施してみたのですが(本番ではLinux環境で使う予定)
> 以下の手順中、1~3は実施できたのですが(warninngは大量に発生しています)、
> 4の動作確認にてエラーが出てしまいました(当然、自前のソースでもrequireで問題が発生します)。
> ビルドが出来てもやはりWindowsではnode-iconvは動かないのでしょうか?
> node-gypでのビルドが可能になってWindowsでもやっとiconvが利用できるのかと思ったのですが、
> もし何か打つ手があれば教えていただければと思います(無理なら無理という回答でも構いません)。
>
>>node test.js
>
> node.js:201
>         throw e; // process.nextTick error, or 'error' event on first tick
>               ^
> Error: unknown error
>     at Object..node (module.js:472:11)
>     at Module.load (module.js:348:31)
>     at Function._load (module.js:308:12)
>     at Module.require (module.js:354:17)
>     at require (module.js:370:17)
>     at Object.<anonymous> (・・・\node_modules\node-iconv\test.js:4:9)
>     at Module._compile (module.js:441:26)
>     at Object..js (module.js:459:10)
>     at Module.load (module.js:348:31)
>     at Function._load (module.js:308:12)
>
> 【ビルド環境】
> patch : Cygwin GNU Patch
> VC++ : VisualStudio C++ 2010 Express
> Python : v2.7.2
> node.js : v0.6.17
>
> 2012年7月4日水曜日 18時40分26秒 UTC+9 hakobera:
>>
>> 本多@hakobera です。
>>
>> 本家 node-iconv が gyp でのビルドに対応しているので、
>> そこに patch を当てて、自分でビルドすれば良いのではないでしょうか?
>>
>> 実際に使ったことはないので動作保証はしかねますが、
>> とりあえず以下の方法で Node v0.8.0 でビルドはできました。
>>
>> 1. 本家 node-iconv を clone
>>
>> $ git clone git://github.com/bnoordhuis/node-iconv.git
>>
>> 2. libiconv 1.14 用の日本語パッチをダウンロード
>>
>> http://apolloron.org/software/libiconv-1.14-ja/
>>
>> $ cd node-iconv
>> $ cd deps
>> $ wget
>> http://apolloron.org/software/libiconv-1.14-ja/libiconv-1.14-ja-1.patch
>> $ cd libiconv
>> $ patch -p1 < ../libiconv-1.14-ja-1.patch
>>
>> 3. 必要に応じて node-gyp をインストールして、ビルドを確認
>>
>> $ cd [node-iconv の root]
>> $ npm install node-gyp -g
>> $ node-gyp configure build
>> $ npm install .
>>
>> 4. 動作確認
>>
>> $ node test.js
>>
>> あとはこれをローカルインストールするなりして使えば良いと思います。
>>
>> せっかくなので、ここまでの作業をしたものを github にあげておきました。
>> 特にメンテナンスする気がないので、消すかもしれませんので、fork するなりして試してみてください。
>>
>> github からの npm モジュールをインストールする方法は、
>> Node 学園 6時限目で Jed さんが紹介していた以下の方法でできます。
>>
>> package.json
>>
>> {
>>   "name": "iconv-test",
>>   "version": "0.1.0",
>>   "dependencies": {
>>     "iconv": "git://github.com/hakobera/node-iconv.git#master"
>>   }
>> }
>>
>> 2012年7月4日 17:43 mash180sx <mash18...@gmail.com>:
>>>
>>> いつもお世話になっております。
>>> 初めて投稿させていただきますが宜しくお願い致します。
>>>
>>> 早速ですが、node.jsにて日本語ページ(Windows-31Jのページ)をスクレイピングをしようとしていて
>>> iconv-jpを使用しています。
>>> 少し前まではnpmで普通にダウンロードして使用出来ていたんですが、
>>> node.jsのバージョンアップに伴なって恐らくnode-wafが使用不可になった関係で
>>> npmをした際に、node-wafでエラーが出るようになってしまいました。
>>> 自分でnode-gypの勉強をして対応できないものかといろいろ試行錯誤してみたのですが
>>> 現時点ではお手上げ状態で、余りに時間が掛かりすぎるのでお助けいただきたく投稿させていただきました。
>>>
>>> 一番良いのは大元のnode-iconvにパッチを充ててもらえれば良いのでしょうが、
>>> libiconvの最新パッチが出ていないようだし、
>>> node-iconvに直接パッチを当てる件のスレが立っているようですが途中で止まってしまっているようです。
>>>
>>> お手数をお掛けしますが、宜しくお願い致します。
>>
>>
>

メールによる返信