鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

msys2 64bit (2015-09-16)でNode環境がデフォルトで動かなかったので何とかした

Node.jsをてがるにWindowsで使いたい以下の記事が参考になります。qiita.com

$ npm -v

module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\mingw64\lib\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:935:3

おかしいなぁ。npmが動かない・・・

ググったら、どうも、これと同じ現象らしい。github.com


winpty-gitの問題らしいんだが、どうやってFIXを適用するのだろう??
ビルドしてインストールすればいいらしいのでやってみる

git clone https://github.com/Alexpux/MSYS2-packages
cd MSYS2-packages/winpty-git
makepkg
#警告ででたパッケージと、コンパイラー mingw-w64-x86_64-gcc  mingw-w64-x86_64-gcc-libsをpacman -Sでインストール後、再度makepkg
makepkg

# 以下のようなエラーがでてインストールできない
install: `build/console.exe' を stat できません: No such file or directory
Makefile:33: ターゲット 'install' のレシピで失敗しました

MSYS2-packages/winpty-git/src/winptyのMakefileを編集。console.exeからwinpty.exeへ変更。

git format-patch -s master

出来たパッチファイルをmvで../../へ移動
cd ../../
vim PKGBUILD
作ったパッチを取り込むようにPKGBUILDを編集する
makepkgで再びパッケージを作成

出来たパッケージをpacmanでインストール

pacman -U winpty-git-1.1.1.217.195cf0a-1-x86_64.pkg.tar.xz


できたー
npm -vが正常に動くようになりました!

しかし、ソースMakefileをいじるのは余計なきがする。プルリクのチャンス??
とりあえず、Issueを発行してみました。