Xserver(共有サーバー)を利用しています。この共有サーバーに laravel を移管しようとたくらんでします。以前はVPSサーバーでないと Node.js はインストールできないと聞いていたのですが、今はできるようです。トライしてみましょう。
流れ
1. Nodebrew をインストールする
2. Node.js をインストールする
Node.js をインストールする前に Nodebrew をインストールします。Nodebrew とは、Node.js のバージョン管理ツールです。複数のバージョンの Node.js を簡単に切り替えたり、インストール・管理したりすることができます。
Nodebrew をインストールする
Nodebrew をダウンロード・インストールします。
$ curl -L git.io/nodebrew | perl - setup
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 26039 100 26039 0 0 11893 0 0:00:02 0:00:02 --:--:-- 24.8M
Fetching nodebrew...
Installed nodebrew in $HOME/.nodebrew
========================================
Export a path to nodebrew:
export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================
.bash_profile を編集します。
$ vi ~/.bash_profile
ファイルの最後に以下の1文を追加します。
export PATH=$HOME/.nodebrew/current/bin:$PATH
バージョンを確認します。
$ source ~/.bash_profile
$ nodebrew -v
nodebrew 1.2.0
バージョンが表示されましたら正常にインストール完了です!
Node.js をインストールする
Node.js のインストールは nodebrew コマンドを使用します。
$ nodebrew install-binary stable
Fetching: https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.gz
######################################################################## 100.0%
Installed successfully
Node.js のバージョンを確認します。
トラブル発生!
Node.js のバージョンを確認しようとしたら以下のエラーが発生しました。
$ node -v
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' 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/libm.so.6: version `GLIBC_2.27' 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)
どうやら必要なライブラリが見つからないようです。これらライブラリをインストールするにはroot権限が必要ですが、XServer(共有サーバー)ですのでroot権限は取得できません。どうする?
Node.js のバージョンを下げます。ネットの記事をみて 16.20.0 を使用している方がいましたので真似します。
$ nodebrew install v16.20.0
Fetching: https://nodejs.org/dist/v16.20.0/node-v16.20.0-linux-x64.tar.gz
######################################################################## 100.0%
Installed successfully
$ nodebrew use v16.20.0
use v16.20.0
$ node -v
v16.20.0
バージョン確認できました。わざとこのバージョンを使用します。
まとめ
Node.js でライブラリを求められたときは、Node.js のバージョンを下げましょう。
ただいつまでも古いバージョンを使用するわけにはいかないかと思います。まぁその時はその時で考えますか!
共有サーバーにも Node.js をインストールできる時代が来ました。これで laravel を共有サーバーで動かせますね。
コメント