ローカルで開発したLaravel&Vite&React環境をXserverにデプロイすることがありました。

LaravelをデプロイしたはいいもののNode.js環境が整っていなかったため、

Vite manifest not found at: {Laravelパス}/public/build/manifest.json

が発生しました。

Viteは/public/build配下のファイルを参照したいが、それらのファイルがないことで発生しているようです。

そこでNode.jsをインストールして環境を整えていきましょう。

ゴールとしてはnpm run buildを行い、前述エラーを解決することです。

前提

XserverにSSH接続ができる

現状の確認

nodeもnpmも入っていません。

$ node -v
-bash: node: コマンドが見つかりません
$ npm -v
-bash: npm: コマンドが見つかりません

実際にインストールを進めよう

nodebrewをインストール

nodebrewはNode.jsのバージョン管理ツールです。下記コマンドでインストールとセットアップをします。

$ wget git.io/nodebrew
.
.略
2024-05-10 21:13:46 (186 MB/s) - `nodebrew' へ保存完了 [26039/26039]

$ perl nodebrew setup
Fetching nodebrew...
Installed nodebrew in $HOME/.nodebrew

========================================
Export a path to nodebrew:

export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================

.bash_profileを編集してパスを通します。

$ vi ~/.bash_profile
# PATH=$PATH:$HOME/bin # コメントアウト
PATH=$HOME/.nodebrew/current/bin:$HOME/bin:$PATH # 追加

おなじみsourceコマンドで再読み込みします。

$ source ~/.bash_profile

nodebrewが入ったかバージョンを確認します。

$ nodebrew --version
nodebrew 1.2.0

Node.jsをインストール

ではnode.jsをインストールしましょう。

$ nodebrew install stable
Fetching: https://nodejs.org/dist/v22.1.0/node-v22.1.0-linux-x64.tar.gz
######################################################################## 100.0%
Installed successfully

successfullyと表示されたのでインストール完了したようです。

インストールされたnode.jsのバージョンを確認してみましょう。

$ nodebrew list
v22.1.0

v22.1.0がインストールされたようなので(2024年5月10日時点)、以下コマンドで有効にします。

$ nodebrew use v22.1.0

nodeのバージョン確認

node.jsとnpmのバージョンをそれぞれ確認してみます。

$ node -v
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)

私の場合、上記not foundエラーが発生してしまいました。インストール可能なnodeのバージョンを確認してそのバージョンをいれることにします。

(結局バージョンを少しずつ下げていってv16.20.2を入れました。)

$ nodebrew ls-remote
~略~
v16.14.2  v16.15.0  v16.15.1  v16.16.0  v16.17.0  v16.17.1  v16.18.0  v16.18.1
v16.19.0  v16.19.1  v16.20.0  v16.20.1  v16.20.2
~略~

$ nodebrew install v16.20.2
$ nodebrew use v16.20.2
$ node -v
v16.20.2

問題なくバージョンが表示されました。

npmのバージョン確認

こちらも問題なさそうです。

$ npm -v
8.19.4

npm run buildも無事通りました。

最後に

今回はXserverにNode.jsをインストールをしてnpmを使えるところまでをご紹介しました。

このページをシェアする