Модуль не найден: Ошибка: не удается разрешить ‘./components/AllPost.vue’ в ‘/var/www/html/proj/resources/js’

#javascript #node.js #vue.js #webpack

#javascript #node.js #vue.js #веб-пакет

Вопрос:

Laravel 8.21 Обновил все node_modules с использованием npm, когда я выполняю npm run watch

 I get below error:
user@user-HVM-domU:/var/www/html/proj$ sudo npm run watch

> watch
> mix watch

glob error [Error: EACCES: permission denied, scandir '/root/.npm/_logs'] {
  errno: -13,
  code: 'EACCES',
  syscall: 'scandir',
  path: '/root/.npm/_logs'
}
ERROR in ./resources/js/routes.js 1:0-48
Module not found: Error: Can't resolve './components/AllPost.vue' in '/var/www/html/ginvoice/resources/js'

ERROR in ./resources/js/routes.js 2:0-47
Module not found: Error: Can't resolve './components/AddPost.vue' in '/var/www/html/ginvoice/resources/js'

ERROR in ./resources/js/routes.js 3:0-49
Module not found: Error: Can't resolve './components/EditPost.vue' in '/var/www/html/ginvoice/resources/js'

ERROR in /js/app
Module not found: Error: Can't resolve '/var/www/html/ginvoice/resources/sass/app.scss' in '/var/www/html/ginvoice'

webpack compiled with 4 errors
 
  • Мой sudo nano resources/js/routes.js

    импортировать все записи из ‘./components/AllPost.vue’; импортировать AddPost из ‘./components/AddPost.vue’; импортировать EditPost из ‘./components/EditPost.vue’;

    экспортировать const routes = [ {имя: ‘home’, путь: ‘/’, компонент: allPosts }, { имя: ‘add’, путь: ‘/add’, компонент: AddPost }, { имя: ‘edit’, путь: ‘/edit/:id’, компонент: Редактировать сообщение } ];

  1. пакет sudo nano.json
 {
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },
    "devDependencies": {
        "axios": "^0.21",
        "laravel-mix": "^6.0.9",
        "lodash": "^4.17.19",
        "postcss": "^8.1.14",
        "resolve-url-loader": "^3.1.0",
        "sass": "^1.32.2",
        "sass-loader": "^8.0.2",
        "vue-loader": "^15.9.6",
        "vue-template-compiler": "^2.6.12"
    },
    "dependencies": {
        "@fortawesome/fontawesome-svg-core": "^1.2.32",
        "@fortawesome/free-solid-svg-icons": "^5.15.1",
        "@fortawesome/vue-fontawesome": "^2.0.2",
        "bootstrap": "^4.5.3",
        "bootstrap-vue": "^2.21.2",
        "cross-env": "^7.0.3",
        "jquery": "^3.5.1",
        "moment": "^2.29.1",
        "npm-check-updates": "^10.2.5",
        "pdfmake": "^0.1.69",
        "popper.js": "^1.16.1",
        "vue": "^2.6.12",
        "vue-axios": "^3.2.2",
        "vue-progressbar": "^0.7.5",
        "vue-router": "^3.4.9"
    }
}
 

Комментарии:

1. Файлы находятся на диске и правильно обработаны? Вы можете видеть их с ls помощью? В качестве примечания, рекомендуется не обслуживать веб-приложения, использующие sudo npm. Если у вашего пользователя нет разрешений, необходимых для записи в этот каталог, вы можете переместить свое приложение в другой каталог и при необходимости указать свой Apache, Nginx или любую другую конфигурацию в это место.

2. да, все регистры для имен файлов отражают ls. Чтобы ускорить разработку, я использую sudo. Эта проблема появляется, когда я обновляю laravel-mix до последней версии вместе с Laravel 8.21.. Laravel 8.21 с точно такими же настройками работает со старой версией laravel-mix. Есть идеи? Кто-нибудь пытался с последней версией увидеть эту проблему?