Grwoiをv7.5.0にアップデートしたときのメモです。
アップデート概要
- 対象バージョン: v7.4.7 → v7.5.0
- 実行環境:
- Ubuntu 24.04
- Apache 2.4によるリバースプロキシー
主要な変更点:
- Node アップデートによる Next.js v16 / Vite v6 / Turbopack への移行
- リバースプロキシに
y-websocketへの変更、 RegExp.escape()の採用
前提
- nvmでnodeのバージョンを管理していること。
- リバースプロキシの変更手順が整っていること。
事前準備・環境更新
最新のGROWI要件に合わせ、Node.jsランタイムをアップデートしました。
-Node.jsの更新:
nvm を使用して v24.14.1 をインストール。 筆者はroot環境で実施しているため
sudo su -
で管理者権限になってから実施しました。
- nvm バージョンアップ
nvm install 24
bash
nvm use 24
nvm alias default 24
- ビルドツールの更新:
はまったポイントです。一度バージョンアップするとv24環境で pnpmが消えてしまうので再有効化します。
corepack enable
corepack prepare pnpm@latest --activate
ビルドプロセスの修正
後は基本的に筆者が行っているものに習います。
growiディレクトリに移動します
cd /home/www-data/growi && pwd
自分の環境に合わせます。(筆者環境/home/www-data/growi)
リリースタグを確認します。
- リリースタグ取得
sudo git fetch --tags
- リリースタグ確認
sudo git tag -l
スペースで確認していき、上記リリースサイトと同じバージョンがあることを確認します。
チェックアウトとインストールを行います。
- 変更を一時的に退避
sudo git stash
- チェックアウト
sudo git checkout 【バージョン】
リリースタグは再確認しましょう。今回は 2026/04/07にリリースされたv7.5.0を選択しました。
メモリ不足の対処
pnpm install時のセキュリティ警告(sharpのビルド停止)およびメモリ不足対策を実施しました。- ネイティブバイナリの許可:
```bash
pnpm approve-builds
リストから sharp を選択して許可
bash
pnpm install
- Turbopackによるビルド:
メモリ消費を抑えるため、上限を指定して実行。
bash
NODE_OPTIONS="--max-old-space-size=4096" pnpm run app:build
### リバースプロキシ (Apache) の修正
同時編集プロトコルが `y-websocket` に変更されたことに伴い、`growi.conf` の書き換えルールを厳密化しました。
修正内容: すべてのWS通信ではなく、`/yjs` パスのみをWSプロキシへ流すよう変更。
apache
# リバースプロキシー設定
RewriteEngine on
# 1. /yjs へのアクセスのみ WebSocket プロキシへ飛ばす
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{REQUEST_URI} ^/yjs [NC]
RewriteRule /(.) ws://localhost:3000/$1 [P,L]
# 2. それ以外の通常の HTTP リクエスト
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
```
起動スクリプトの修正
2度目のはまりポイントです。RegExp.escape is not a function エラー(Node.jsのバージョン不足)を解消するため、サービスが参照する PATH を更新しました。
(これは筆者環境なので)
growi-start.sh の修正:
# 旧: v20.19.2 -> 新: v24.14.1
export PATH="/root/.nvm/versions/node/v24.14.1/bin:$PATH"
Growiの再起動
- Growiサービス開始
sudo systemctl restart growi.service
- サービス開始確認
systemctl status growi.service
active(running)を確認します。
完了確認
- [x] 管理画面「システム情報」にて GROWI 7.5.0 / Node.js 24.14.1 を確認。
- [x] ページリストの取得エラー(APIエラー)が解消されたことを確認。
- [x] ページ複製時の
RegExp.escapeエラーが解消されたことを確認。 - [x] Elasticsearch v9 への接続および検索ができることを確認。
