Lravel8の環境構築時にnpm run devを実行したら大量にエラーが発生しました。
node.jsのバージョンが低いと発生するようなので、node.jsをupdateしてみました。
GCPで構築したUbuntu20.04で発生したエラーです。
GCPで構築したUbuntu20.04にPHP8をインストール
Ubuntu20の環境にPHP8をインストールする必要が発生しました。 デフォルトの状態だとUbuntu20にはPHP7.4がインストールされてしまうため、PHP8が含まれているリポジトリを追加する必要があります。 サーバはGCPのVMイン...
Ubuntu
$ cat /etc/issue
Ubuntu 20.04.5 LTS \n \l
Apache
$ apachectl -v
Server version: Apache/2.4.41 (Ubuntu)
Server built: 2022-06-14T13:30:55
$ npm run devのエラー状況
npm run devを実行してみると…
$ npm run dev
> @ dev /home/hoge/example
> npm run development
> @ development /home/hoge/example
> mix
Error: You are using an unsupported version of Node. Please update to at least Node v12.14
at assertSupportedNodeVersion (/home/hoge/example/node_modules/laravel-mix/src/Engine.js:6:15)
at executeScript (/home/hoge/example/node_modules/laravel-mix/bin/cli.js:61:5)
at Command.program.command.description.option.action (/home/hoge/example/node_modules/laravel-mix/bin/cli.js:47:13)
at Command.listener [as _actionHandler] (/home/hoge/example/node_modules/commander/index.js:922:31)
at Command._parseCommand (/home/hoge/example/node_modules/commander/index.js:1503:14)
at Command._dispatchSubcommand (/home/hoge/example/node_modules/commander/index.js:1443:18)
at Command._parseCommand (/home/hoge/example/node_modules/commander/index.js:1469:12)
at Command.parse (/home/hoge/example/node_modules/commander/index.js:1292:10)
at Command.parseAsync (/home/hoge/example/node_modules/commander/index.js:1318:10)
at run (/home/hoge/example/node_modules/laravel-mix/bin/cli.js:50:19)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ development: `mix`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ development script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-12-27T00_12_55_073Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ dev: `npm run development`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ dev script.
Laravel MIXでエラーが発生している模様
Node.jsのバージョンを確認してみます。
$ node -v
v10.19.0
公式サイトで最新バージョンを確認すると18.12.1 LTSが推奨版、19.3.0が最新版(2022年12月時点)となっている。
かなり古いnode.jsが入っていることが分かる。
Node.js — Run JavaScript Everywhere
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
ちなみにインストールされているnpmのバージョンは
$ npm -v
6.14.4
node.jsのUpdate
推奨版がLTS(Long Term Support)となっているので、これをインストール
$ curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
$ sudo apt install -y nodejs
再度node.jsのバージョンを確認してみると指定した通り、バージョン18がインストールされている。
$ node -v
v18.12.1
ちなみにnpmのバージョンがどうなったか見てみると、こちらも新しいものにアップグレードされていた
$ npm -v
8.19.2
npm run dev再実行
$ npm run dev
:
:
Laravel Mix v6.0.49
? Compiled Successfully in 3101ms
--------------------------------------------------------------------------------
| File x Size |
-------------------------------------------------------------------------------- | /js/app.js x 697 KiB |
| css/app.css x 49.5 KiB |
--------------------------------------------------------------------------------
webpack compiled successfully
npm notice
npm notice New major version of npm available! 8.19.2 -> 9.2.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.2.0
npm notice Run npm install -g npm@9.2.0 to update!
npm notice
無事に成功しました。
npmも9.2.0が最新版であるぞ!!とのことなのでUpdateしておきます。
※管理者権限で実行しないとエラー出ます
$ sudo npm install -g npm@9.2.0
npmのバージョンを確認
$ npm -v
9.2.0