memo

ConoHaで入れたLaravel7にauthを導入

Conohaで構築しているLaravelのアプリケーションにauthを入れることにしました。

$ php artisan -V

で確認したところ、Laravelの7.2.0がはいっています。

更新! Laravel6/7「make:Auth」が無くなった 〜Laravel6/7でのLogin機能の実装方法〜MyMemo – Qiita

上記のサイトのとおり、

$ composer require laravel/ui

$ php artisan ui vue –auth

$ php artisan migrate

としてから、

$ npm install

をしたところ、ConoHaのLaravelアプリケーションパッケージには、node.jsがインストールされていないことがわかりました。

なので、node.jsをインストールします。

ConoHaにNode.jsをインストールする

ConoHa で VPS を借りて Node.js で HTTPS サーバを建てるまでのメモ(1/2) – Qiita

まずは上記のサイトをみて、rootにアカウント変更してから

$ yum update

します。

その次に、node.jsを入れる際は下記のサイトを参考にしました。

【Node.js入門】各OS別のインストール方法まとめ(Windows,Mac,Linux…) | 侍エンジニア塾ブログ(Samurai Blog) – プログラミング入門者向けサイト

ConoHaのLaravelアプリケーションはCentOSなので、

EPELリポジトリを有効化
$ yum install epel-release

nodejsをインストールする
$ yum install nodejs npm

$ npm -v
3.10.10

ということで、node.jsとnpmがインストールできました。

npm run dev

ということで、authをいれる作業に戻ります。

$ npm run dev

をしたところ、エラーが発生。

> @ dev /var/www/html/laravel
> npm run development


> @ development /var/www/html/laravel
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

/var/www/html/laravel/node_modules/cross-env/src/index.js:23
    )
    ^

SyntaxError: Unexpected token )
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/var/www/html/laravel/node_modules/cross-env/src/bin/cross-env.js:3:18)

npm ERR! Linux 3.10.0-1062.18.1.el7.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "run" "development"
npm ERR! node v6.17.1
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @ development script 'cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the  package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs 
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls 
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /var/www/html/laravel/npm-debug.log

npm ERR! Linux 3.10.0-1062.18.1.el7.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "run" "dev"
npm ERR! node v6.17.1
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! @ dev: `npm run development`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @ dev script 'npm run development'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the  package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run development
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs 
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls 
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /var/www/html/laravel/npm-debug.log

いろいろ試したけど、うまく行かず….

node.jsを最新にしてみる

先程いれたnode.jsは
v6.17.1
でした。

これ、結構古いです。

なので、node.jsを最新にする必要があるかもです。

rootにアカウントを変更

nodeのバージョンを管理するnをインストール
$ npm install -g n

/usr/bin/n -> /usr/lib/node_modules/n/bin/n
/usr/lib
└── n@6.5.1

これでnode.jsを最新にします。
$ n latest

installing : node-v14.4.0
mkdir : /usr/local/n/versions/node/14.4.0
fetch : https://nodejs.org/dist/v14.4.0/node-v14.4.0-linux-x64.tar.xz
installed : v14.4.0 (with npm 6.14.5)

Note: the node command changed location and the old location may be remembered in your current shell.
old : /usr/bin/node
new : /usr/local/bin/node
To reset the command location hash either start a new shell, or execute PATH=”$PATH”

無事にnode.jsが最新になりました。

もう1回

再びチャレンジ

$ node run dev

laravel

やった!やっぱり、node.js古すぎたようです。

サイトを確認

Laravel

無事にauthのナビバーが表示されました。