TypeError: Arguments to path.resolve must be strings
↑というエラーがnpmを使った時に起こりました。nvmはnpmもまとめて簡単インストール☆してくれるので、npmが悪いわけない…原因はほかにあるはずだ……しかし、これがいけなかったのです。。路頭に迷い、作業時間をかなり削ってしまいました。。
原因
npmのversion違いでした。
調べるとpath.resolveの変更がNode.jsのv.0.9.xくらいにあったみたいで、v.0.8.xの時に動いたnpmではv.0.10.xの作りだと動かないみたい。
npm -vしたら、1.1.xでした。Node.js v.0.10.xでは、npm 1.2.x以上でないと動かないっぽいです。
えっ、でもnvm使ってるんじゃないの?
使ってますが、/usr/local/bin/npmに、最初にnode.jsインストールしたときのnpmが残っていました(・ω<)テヘペロ
だから、npm使うと$PATHの順番的に古いほうが優先されて上記エラーが出てたんですね。
削除して、~/.nvm上の該当versionのnpmを使うように.bashrcを書き換えて糸冬了。
今回の件から私が得るべき教訓は
・アンインストールは徹底的に。
・動かなかったらpathをまず調べろ。
でした。
0 件のコメント:
コメントを投稿