概要
Laravel6.0 では、それまであったmake:authのartisanコマンドがなくなって、laravel/uiを利用する方法に変更になりました。
はまりどころがあったのでメモを残しときます。
環境
OS:CentOS 7.2(vagrant)
PHP:7.2.22
Laravel:6.0.3
手順
laravel/uiのインストール
$ composer require laravel/ui --dev
ファイルの展開
$ php artisan ui vue --auth
Vue scaffolding installed successfully.
Please run "npm install && npm run dev" to compile your fresh scaffolding.
Authentication scaffolding generated successfully.
「npm install」と「npm run dev」を実行するようなメッセージが表示されましたが、
npmをインストールしていなかったので、インストールします。
npmのインストール
$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh
$ nvm install stable
node_modulesをマウントする
このまま「npm install」を実行しようとするとvagrantの共有フォルダ内にシンボリックリンクが作成できずにエラーになります。
「--no-bin-links」のオプションを付ければ「npm install」は成功しますが、「npm run dev」でエラーが出てしまいます。
そこでこちらの記事を参考に、
node_modulesフォルダを共有フォルダの外に出しマウントします。
$ mkdir ~/node_modules
$ cd /vagrant
$ mkdir node_modules
$ sudo mount -B ~/node_modules /vagrant/node_modules
パッケージのインストール
npm install
JavaScriptファイル、CSSファイルの作成
npm run dev
これでログイン画面が表示されるようになりました。
おまけ
このままだとvagrantを起動するたびにmountコマンドを実行しなければならないので、Vagrantfileにprovisionとしてコマンドを追記しておきます
config.vm.provision "shell",
run: "always",
inline: "sudo mount -B /home/vagrant/node_modules /vagrant/node_modules"
参考サイト
認証 6.0 Laravel
WindowsホストでVirtualBoxでLaravel-Mix 、やっとできた - 墨と鉛筆
Isolating node_modules in Vagrant