タグ: nodejs

growi v6.0.15 → v6.1.0へのバージョンアップでハマったこと。

概要

日々の記録に、ブログ/redmineの下書きに、思考の整理にと役立っているgrowi。

https://github.com/weseek/growi/releases/tag/v6.1.0

で、growiの新しいバージョンを確認したので実施しましたが、ハマりましたのでメモとして残します。

アップデートした環境

  • growi 6.0.15
  • Ubuntu 20.04
  • mongodb 4.4.13
  • node 14.21.3 (後述するバージョンアップによりv18.16.0)

また、以下を実施済みです。

実施手順

https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/28

こちらに沿って実施しました。

  1. growiのサービスを停止します。
  2. gitコマンドで最新版を引っ張ります。
  3. アップグレードを行います。
  4. growiのサービスを再開します。
  5. アップグレードされたことを確認します。

ハマったこと1:nodeのバージョンが合わない

  • 実行コマンド
sudo yarn
  • エラー
[1/5] Validating package.json...
error growi@6.1.0: The engine "node" is incompatible with this module. Expected version "^16 || ^18". Got "14.21.3"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

とあったので、nodeのバージョンアップが必要でした。

ハマったこと1への対処

以下の記事で、最新安定版のnode.jsに差し替えました。

https://manualmaton.com/2023/03/15/

nodeのアップデート後、正常にyarnを行うことができました。

ハマったこと2: 起動スクリプトが動作しない。

sudo systemctl start growi.service

を実行しても起動せず。

systemctl status growi.service

で状況を確認します。

/bin/sh: 1: turbo: not found

というエラーが出ました。

ハマったこと2への対処

1への対処時、付随するnpmパッケージを削除したことが原因です。

sudo npm install -g turbo

として、再度

sudo systemctl start growi.service

を実行。

systemctl status growi.service

起動を確認しました。

実行後

このバージョンアップは是が非でも行いたいものでした。

なぜなら、念願のmermaid.jsが実装されたからです。

これで、別のアプリを起動せず、growiのみでのmermaid記法が楽になりました。

Ubuntu 20.04に最新安定版のnodejsのインストール。

ふと思い立ったので、AWS Lightsailで稼働するUbuntuに最新安定版のnodejsを入れてみました。

動作確認環境

  • Ubuntu 20.04

実施した手順

さっくりとした手順

  1. aptitude(apt)を用いてnodejsとnpmをインストールします。
  2. n packageシステムをインストールします。
  3. n packageで最新安定版のnodejsをインストールします。
  4. 最初に入れたnodejsとnpmをアンインストールします。
  5. nodeとnodejsが同じコマンドを参照するようにシンボリックリンクを張ります。

aptitudeによるnodejsとnpmのインストール

パッケージインストール

こちらではaptitudeを用いています。好みなどに合わせてaptに読み替えてください。

sudo aptitude update

sudo aptitude install nodejs

sudo aptitude install npm
# 300近いパッケージが一気にインストールされます

インストール後の確認

nodejs -v
# v10.19.0が表示されることを確認

npm -v
# 6.14.140が表示されることを確認

n packageのインストール

sudo npm install -g n

n packageによる最新版安定版のインストール

sudo n stable

表示確認

node -v
# 18.15.0が表示されることを確認
nodejs -v
# 10.19.0が表示されることを確認

と、両者のバージョンが異なります。aptitude(apt)でインストールしたパッケージが残っているために発生しているようです。

そこで、最初にインストールしたパッケージをアンインストールします。

最初に入れたnodejsとnpmをアンインストール

sudo apt purge nodejs npm

その後、一度シェルから抜けます。

シンボリックリンク実行

再ログイン後、nodejsのパスが通っていませんでした。

which node
# /usr/local/bin/nodeと表示


which nodejs
# 何も表示されず

コマンドが見つからないので、これも修正します。

sudo ln -s /usr/local/bin/node /usr/local/bin/nodejs
node -v
# 18.15.0が表示されることを確認

nodejs -v
# 18.15.0が表示されることを確認

両方で同じバージョンが表示されるようになりました。

動作確認日

2023/03/13

Powered by WordPress & Theme by Anders Norén