如何解决 Laravel 护照安装错误?
How to resolve Laravel passport install error?
我目前正在使用 https://laravel.com/docs/5.7/passport 中的文档设置 Larvel 的 Passport。一切正常,直到我必须 运行 命令 npm 运行 dev 然后我收到以下错误。
我正在寻找有关如何解决此问题的一些见解。
* ./components/passport/AuthorizedClients.vue in ./resources/js/app.js
* ./components/passport/Clients.vue in ./resources/js/app.js
* ./components/passport/PersonalAccessTokens.vue in ./resources/js/app.js
Asset Size Chunks Chunk Names
/js/app.js 1.38 MB 0 [emitted] [big] /js/app
/css/app.css 198 kB 0 [emitted] /js/app
ERROR in ./resources/js/app.js
Module not found: Error: Can't resolve './components/passport/AuthorizedClients.vue' in '/projects/dw_api_gateway/laravel/resources/js'
@ ./resources/js/app.js 22:45-99
@ multi ./resources/js/app.js ./resources/sass/app.scss
ERROR in ./resources/js/app.js
Module not found: Error: Can't resolve './components/passport/Clients.vue' in '/projects/dw_api_gateway/laravel/resources/js'
@ ./resources/js/app.js 20:34-78
@ multi ./resources/js/app.js ./resources/sass/app.scss
ERROR in ./resources/js/app.js
Module not found: Error: Can't resolve './components/passport/PersonalAccessTokens.vue' in '/projects/dw_api_gateway/laravel/resources/js'
@ ./resources/js/app.js 24:49-106
@ multi ./resources/js/app.js ./resources/sass/app.scss
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ dev: `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 2
npm ERR!
npm ERR! Failed at the @ dev 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/2018-09-22T02_04_09_398Z-debug.log
编辑
原来护照有一个未解决的问题。
https://github.com/laravel/passport/issues/829
您的问题很可能是由于 vendor:publish 将组件发布到错误的目录。
Laravel 5.7 之前,东西存储在 resources/assets/js
中,现在在 5.7 中它们存储在 assets/js
中,这导致了像您遇到的问题。
确保你运行发布组件的命令
php artisan vendor:publish --tag=passport-components
发布的组件将放置在您的resources/js/components 目录中。组件发布后,您应该在 resources/js/app.js 文件中注册它们:
Vue.component(
'passport-clients',
require('./components/passport/Clients.vue')
);
Vue.component(
'passport-authorized-clients',
require('./components/passport/AuthorizedClients.vue')
);
Vue.component(
'passport-personal-access-tokens',
require('./components/passport/PersonalAccessTokens.vue')
);
我目前正在使用 https://laravel.com/docs/5.7/passport 中的文档设置 Larvel 的 Passport。一切正常,直到我必须 运行 命令 npm 运行 dev 然后我收到以下错误。
我正在寻找有关如何解决此问题的一些见解。
* ./components/passport/AuthorizedClients.vue in ./resources/js/app.js
* ./components/passport/Clients.vue in ./resources/js/app.js
* ./components/passport/PersonalAccessTokens.vue in ./resources/js/app.js
Asset Size Chunks Chunk Names
/js/app.js 1.38 MB 0 [emitted] [big] /js/app
/css/app.css 198 kB 0 [emitted] /js/app
ERROR in ./resources/js/app.js
Module not found: Error: Can't resolve './components/passport/AuthorizedClients.vue' in '/projects/dw_api_gateway/laravel/resources/js'
@ ./resources/js/app.js 22:45-99
@ multi ./resources/js/app.js ./resources/sass/app.scss
ERROR in ./resources/js/app.js
Module not found: Error: Can't resolve './components/passport/Clients.vue' in '/projects/dw_api_gateway/laravel/resources/js'
@ ./resources/js/app.js 20:34-78
@ multi ./resources/js/app.js ./resources/sass/app.scss
ERROR in ./resources/js/app.js
Module not found: Error: Can't resolve './components/passport/PersonalAccessTokens.vue' in '/projects/dw_api_gateway/laravel/resources/js'
@ ./resources/js/app.js 24:49-106
@ multi ./resources/js/app.js ./resources/sass/app.scss
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ dev: `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 2
npm ERR!
npm ERR! Failed at the @ dev 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/2018-09-22T02_04_09_398Z-debug.log
编辑
原来护照有一个未解决的问题。
https://github.com/laravel/passport/issues/829
您的问题很可能是由于 vendor:publish 将组件发布到错误的目录。
Laravel 5.7 之前,东西存储在 resources/assets/js
中,现在在 5.7 中它们存储在 assets/js
中,这导致了像您遇到的问题。
确保你运行发布组件的命令
php artisan vendor:publish --tag=passport-components
发布的组件将放置在您的resources/js/components 目录中。组件发布后,您应该在 resources/js/app.js 文件中注册它们:
Vue.component(
'passport-clients',
require('./components/passport/Clients.vue')
);
Vue.component(
'passport-authorized-clients',
require('./components/passport/AuthorizedClients.vue')
);
Vue.component(
'passport-personal-access-tokens',
require('./components/passport/PersonalAccessTokens.vue')
);