Я пытаюсь развернуть приложение Laravel на виртуальном хостинге. Я также использую Vuejs. Почти все работает отлично. Единственная проблема - это компонент, который не обновляется после изменения. Я делаю следующие шаги:
- Копирование проекта (файлов) Laravel с локального хоста на общий хостинг. Проект работает (кроме vue)
Установка nodejs в корневом каталоге (не в папке laravel). Я использую следующие команды:
2,1 wget -qO- https://cdn.rawgit.com/creationix/nvm/master/install.sh | Баш
2.2 export NVM_DIR = "$ HOME / .nvm"
2.3 [-s "$ NVM_DIR / nvm.sh"] &&. "$ NVM_DIR / nvm.sh"
2.4 [-s "$ NVM_DIR / bash_completion"] &&. "$ NVM_DIR / bash_completion"
2.5 nvm установочный узел
2,6 nvm использовать узел
Далее я собираюсь в папку laravel и введите npm run watch, но я получаю ошибку. Ниже содержание журнала npm
0 info it worked if it ends with ok
1 verbose cli [ '/home/mojstrona/.nvm/versions/node/v10.10.0/bin/node',
1 verbose cli '/home/mojstrona/.nvm/versions/node/v10.10.0/bin/npm',
1 verbose cli 'run',
1 verbose cli 'watch' ]
2 info using npm@6.4.1
3 info using node@v10.10.0
4 verbose run-script [ 'prewatch', 'watch', 'postwatch' ]
5 info lifecycle @~prewatch: @
6 info lifecycle @~watch: @
7 verbose lifecycle @~watch: unsafe-perm in lifecycle true
8 verbose lifecycle @~watch: PATH: /home/mojstrona/.nvm/versions/node/v10.10.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/mojstrona/domains/moj.stronazen.pl/l55/node_modules/.bin:/home/mojstrona/.nvm/versions/node/v10.10.0/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin:/home/mojstrona/.local/bin:/home/mojstrona/bin
9 verbose lifecycle @~watch: CWD: /home/mojstrona/domains/moj.stronazen.pl/l55
10 silly lifecycle @~watch: Args: [ '-c',
10 silly lifecycle 'cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js' ]
11 silly lifecycle @~watch: Returned: code: 126 signal: null
12 info lifecycle @~watch: Failed to exec watch script
13 verbose stack Error: @ watch: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
13 verbose stack Exit status 126
13 verbose stack at EventEmitter.<anonymous> (/home/mojstrona/.nvm/versions/node/v10.10.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack at EventEmitter.emit (events.js:182:13)
13 verbose stack at ChildProcess.<anonymous> (/home/mojstrona/.nvm/versions/node/v10.10.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:182:13)
13 verbose stack at maybeClose (internal/child_process.js:962:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
14 verbose pkgid @
15 verbose cwd /home/mojstrona/domains/moj.stronazen.pl/l55
16 verbose Linux 3.10.0-714.10.2.lve1.5.17.el7.x86_64
17 verbose argv "/home/mojstrona/.nvm/versions/node/v10.10.0/bin/node" "/home/mojstrona/.nvm/versions/node/v10.10.0/bin/npm" "run" "watch"
18 verbose node v10.10.0
19 verbose npm v6.4.1
20 error code ELIFECYCLE
21 error errno 126
22 error @ watch: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
22 error Exit status 126
23 error Failed at the @ watch script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 126, true ]
Я могу решить эту ошибку, используя chmod -R a + x node_modules, но я получаю следующую ошибку
error in ./resources/assets/sass/app.scss
Module build failed: Error: Missing binding /home/mojstrona/domains/moj.stronazen.pl/l55/node_modules/node-sass/vendor/linux-x64-64/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 10.x** Run `npm rebuild node-sass` to download the binding for your current environment.
Итак, я перезагружаю SSH и запускаю npm, перестраиваю node-sass без ошибок. Затем я запускаю npm run watch с любыми ошибками, но проблема все еще существует. Компоненты не обновляются после изменений, даже если я изменяю имя компонента. например:
До изменения в app.js
Vue.component('ex', require('./components/ExampleComponent.vue'));
Перед изменением в папке компонентов
ExampleComponent.vue
Отображается
* * ExampleComponent.vue тысяча сорок-девять
После изменения в app.js
Vue.component('ex', require('./components/ExampleComponent2.vue'));
После изменения в папке компонентов
ExampleComponent2.vue
Отображается после изменения
ExampleComponent.vue
После изменения 2 в app.js
Vue.component('ex', require('./components/ExampleComponent2.vue'));
После изменения 2 в папке компонентов
ExampleComponent3.vue
Отображается после изменения2
ExampleComponent.vue
Ниже приведен скриншот результата команд npm run.