開発環境LAMP
更新日 : 2023年12月11日
投稿日 : 2023年10月23日

【CentOS7】Nuxt3の開発環境構築をした話

【CentOS7】Nuxt3の開発環境構築をした話の画像

こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
PHPエンジニアとして9年~の経験があります。

先日、CentOS7の開発環境にNuxt3の開発環境を構築する作業をしました。

そのときにやった作業内容を残します。

前提

  • CentOS7
  • Apache
  • node / npmは入っている(古い)
  • ソースは指定の物で、Nuxtjsをイチから入れるわけではない

ゴールは「CentOS7の開発環境へWindows機で外部アクセスが可能になるようにすること」。

node npmのバージョンあげ

元のソースを持ってきてcomposer updateやnpm installをやったところまではよかったのだけれど、Nuxtjsを実行するためのnpm run devができなかった。

原因はnode と npmのバージョンが古かったから。

node -v
v12.22.12

npm -v
6.14.16

自分のローカルマシンで動かしている人の情報によると、node 16以上だった。なので一致させるために16を入れる。

sudo yum install https://rpm.nodesource.com/pub_16.x/el/7/x86_64/nodejs-16.17.0-1nodesource.x86_64.rpm

そして上がったバージョンはこちら。

node -v
v16.17.0

npm -v
8.15.0

以前のリポジトリ指定のやり方ではうまくいかない

調べると良く出てくるこのやり方

sudo curl -sL https://rpm.nodesource.com/setup_14.x | bash -

curlで取ろうとするとすごい警告が出てくる。赤警告。

「これもう使うのやめるから別の方法でやってよね、Gitから取ってきて云々してよね」っていってるだけなのですが、なんとも恐ろしい印象を与えてくる…。

色々探して取ってきたのはこちらのNodesourve Node.js RPMからyum installする方法。こちらもGitHubから取るのを推奨するよ、と書いてある。

ただ、最新バージョン以外をGitHubから取る方法がちょっとよくわからなかった。そのためNode.js RPMでバージョン指定で取った。

CentOS7はnode v18未対応

CentOS7はnodeは18対応できないらしい。

そもそもCentOS7自体がもう古いし、どこかで開発環境の更新か、イチから作り直す日が来るかもしれない…

npm run devの起動

nodeとnpmのバージョンをあげてあげたら起動できるはず。

npm run dev

をやってみて動作できたらOK。何か足りなくて入れないとならない、などがあったらその辺りを入れて動くようにする。

内部アクセス(localhost)の確認

CentOS7からアクセスしてみる。コンソールで

curl http://localhost:3000

を実行するとコンソール上にずらっとソースが出てくるはず。

npm run devをやったらIPアドレス上でアクセスできるよ!って言っているから外のWindowsマシンからUPアクセス(xxx.xxx.xxx.xxx:3000)アクセスしてもおそらくできない。

外部アクセス(IP)はhost=0に指定して実行する

HOST=0 PORT=3000 npm run dev

PORT 3000で変更しない場合は省略可能。

設定ファイルに書く方法もあるようだけど、開発中に何かと変わりそうなので開発機で実行するときに指定すればいいや、ということで。

3000ポートを開く

たぶん上のコードでnpm run devしただけだとまだアクセスできないと思う。

3000ポート、普通は開いてませんよね?開けてあげるか、実行するときに別の開いているポートを指定する。

調べてみる。

firewall-cmd --list-all

これでいなければ、開けポート

firewall-cmd --add-port 3000/tcp

ずっと使うなら開きっぱなしで

firewall-cmd --add-port 3000/tcp --permanent
systemctl reload firewalld.service

これでアクセスできるようになる。

参考

PR

※本サイトはアフィリエイトプログラムを利用して商品を紹介しています。