Mac
Node.js
anyenv
Hexo
ndenv

Node のバージョンを上げたら Hexo が死んだ


TL;DR

ndenv を入れて、 hexo のプロジェクトフォルダの node のバージョンを 6 に戻した。


状態

他のプロジェクトで必要だったため、 homebrew で node を upgrade した。

すると hexo の基本的なコマンドは実行されているらしいが deploy がうまくいかなくなった。

deployer には s3-cloudfront を利用していた。


試行錯誤


deployer を変えてみた -> ダメ

普通の s3 にして cloudfront でのキャッシュクリアは手動にしようとした。

やってみたところ s3 へのデプロイ自体がうまくいっていないようだった。


node のバージョンを戻したい -> ムリ

新しいプロジェクトで必要なので戻せない。


複数バージョンを使えるようにしよう


  • nodebrew -> 毎回コマンドラインで切り替えるの面倒

  • ndenv -> バージョン定義ファイルが増えるが、自動的に判定してくれて便利そう


ndenv を採用

インストール方法は こちらの記事 を参考にしました。

記事では shell に bash だったけど、自分は zsh を利用しているため、 ~/.zshrc に以下を追加

# ndenv

export PATH=$HOME/.ndenv/bin:$PATH
eval "$(ndenv init - --no-rehash)"


無事デプロイができました

良き node ライフを!