環境
- Windows8
- nodejs 0.10.13
- grunt v0.4.5
- npm 1.3.2
症状
grunt-imageminをインストールしようとしたら、以下のようなエラーが大量にでてきてました。最初は結構うまくいっている様子だったのですが途中からエラーのオンパレード・・。
やった事
情報が少なかったのでWeb上で出ていた以下の手段はことごとくやってみました。が、いずれもダメでした。
npm cache clean
C:\<username>\AppData\Roaming\npm
のパーミッション変更(変更できなかった)npm config set dev true
C:\Users\<username>\AppData\Local\Temp
以下のnpm関連フォルダの削除package.json
と同階層にあるnode-modules
フォルダの削除- 管理者権限での
npm install grunt-imagemin
の実行 npm install grunt-imagemin --save-dev
でのインストール- nodejsのクリーンインストール
npm install --no-bin-links grunt-contrib-imagemin
(たぶん意味ない)
その他にもWindows8でgrunt-imageminをインストールするときはjpegtran-bin
の最新版は使えないという
情報があったので、npm install jpegtran-bin@0.2.0
してみたり。
解決方法
結果的にはnpmのバージョンを最新にして、管理者権限でインストールできました。コマンドプロンプトやPowerShellを管理者権限で立ち上げて
で解決です。てっきりnodeをインストールしたときに同梱されるnpmで問題ないかと思っていたのですが、そんなことは無いんですね・・。ただ、Windows7の同僚は普通にインストールできていたので、Windows8だけの問題なのかもしれません。
参考
- http://blog.unsweets.net/2014/11/npmerrorenoent-stat.html
- http://qiita.com/Syn/items/140e6c3431e9cc8b06d1
- http://blog.mitsuruog.info/2014/12/angular-fullstack-in-the-wild.html
- http://meganetops.com/?p=43
- https://github.com/gruntjs/grunt-contrib-imagemin/issues/109
- http://askubuntu.com/questions/269727/npm-errors-when-installing-packages-on-windows-share
- http://stackoverflow.com/questions/19569990/npm-install-doesnt-work-in-windows-powershell
- http://blog.unsweets.net/2014/11/npmerrorenoent-stat.html
- https://github.com/npm/npm/issues/5133
- https://github.com/npm/npm/issues/3664
- https://github.com/npm/npm/issues/3190