😱

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

2018/10/30に公開

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 ライフを!

Discussion