久しぶりにnode.jsを使おうと思った時、nodeそのものや、モジュールが古くなってるのでは?思い調べたメモ。
###前提
- mac(yosemite)です。
- nodeは、インストーラーでインストールしています(brewとかじゃなく)
###Node.js(npm)自体のアップデート
これは、最新のインストーラーをダウンロードしてインストールすれば上書きされるようです。
ちなみにアンイストールはなかなか大変なようです。
uninstallの情報
###インストールされているモジュールのチェック
私はglobalが中心なので、
npm list -g
です。
###最新バージョンの有無のチェック
手動でやるのはややこし?そうなので、npm-check-updatesというのを使うことにしました。
sudo npm -g install npm-check-updates
でインストール。
sudo npm-check-update -g
で、現在のバージョンとアップデート可能なバージョンのリストを表示してくれます。
###バージョンアップ
モジュールのアップデートは、
sudo npm -g install [package_name]
で上書き?しろ!と言われたのでしました。
###あるモジュールでエラー
私の環境では、selenium-webdriverのアップグレード中に、
gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/hoge/.node-gyp/0.12.4"
というエラーが出ました。gypとか使ってないし、そんなファイルそもそも無いし。結論から言えば、
sudo npm -g install selenium-webdriver --unsafe-perm
という感じで--unsafe-permオプションをつけることで回避できました(たぶん)。
実際、アップグレードしたから使ってないので、本当に回避できたかはわかりませんが、まあ、大丈夫でしょう。
あと、これはselenium依存ですが、最新のブラウザに合わせて、chromedriver等のアップデートも必要です。