Update nodejs 4.x to 6.x
ghost v0.11.3からnodejs6系がサポートされるようになりました。
ので4.xから6.xにあげてく(もちろんghostは0.11.3にアップグレード済み)。
まずは諸々やる前にdropletのスナップショットをとっておく。
- 最悪スナップショットからサーバ立てて復活できるので!
doctl compute droplet-action snapshot <dropletのID> --snapshot-name ponpokopon.me-$(date +%Y%d%m%H%M) -v
ansibleプレイブックの修正。
- バージョン部分いじっただけ
- name: setup is downloaded
- get_url: url=https://rpm.nodesource.com/setup_4.x dest=/tmp/setup_4.x
+ get_url: url=https://rpm.nodesource.com/setup_6.x dest=/tmp/setup_6.x
when: not result_nodesource_el_repo.stat.exists
tags: nodejs
- name: nodesource repo is installed
become: yes
- shell: bash /tmp/setup_4.x
+ shell: bash /tmp/setup_6.x
when: not result_nodesource_el_repo.stat.exists
tags: nodejs
サーバ側でnodejs、リポジトリファイルを削除する。
yum clean
しないと古いリポジトリ参照しようとしてエラーになる場合がある
sudo yum remove nodejs
sudo rm /etc/yum.repos.d/nodesource-el.repo
sudo yum clean all
ansible-playbook実行。
ansible-playbook -i production site.yml --tag nodejs
バージョンが4.xから6.xに上がった!
$ node -v
v6.9.2
その後ghostのnpm installをやりなおす。
cd /var/www/ghost
sudo npm install --production
ghostを再起動する。
sudo systemctl restart ghost
手作業多いのが気になるところ...。