Dockerを使って、Laravelを起動しています。
昔、xamppでLaravelでbootstrapした際は、すんなりいったと思うのですが、
今回は色々なエラーに苦しんだので、記録して残しておきます。
Dockerの環境は、docker-composeを利用して、
php, nginx, mysqlを別々のコンテナで起動しています。
ざっくりとした流れはこちらです。
・php へbashでアタッチする
・node.jsをインストール
・laravel/ui導入
・bootstrap導入
・npm を install & run
php へbashでアタッチする
まずは、Dockerコンテナのphpの中に入ります。
php のコンテナ名はphp としております。
docker-compose exec php bash
cd コマンドを使って、Laravelアプリケーションのルートディレクトリへいきます。
artisan , composer などが存在するディレクトリです。
node.jsをインストール
その階層で、下記コマンドを別々に打ち込んでいきます。
apt-get install -y gnupg
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs
laravel/ui導入
composer require laravel/ui
bootstrap導入
php artisan ui bootstrap
npm を install & run
npm install && npm run dev
そこで、下記のようなエラーがでてきました。
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1 npm ERR! code ENOENT npm ERR! syscall rename npm ERR! path /work/app/node_modules/.vue-loader.DELETE/node_modules/source-map npm ERR! dest /work/app/node_modules/vue-loader/node_modules/source-map npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, rename '/work/app/node_modules/.vue-loader.DELETE/node_modules/source-map' -> '/work/app/node_modules/vue-loader/node_modules/source-map' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-10-06T03_43_21_673Z-debug.log
こちらを見てみると、似たようなエラーが….
https://stackoverflow.com/questions/49651221/npm-enoent-no-such-file-or-directory-rename
rm package-lock.json
一度、package-lock.json を削除した後に
再度、
npm install && npm run dev
これで、いけました!