Чтобы дать небольшой контекст моей проблемы, вот моя локальная установка:
Бродяга 2.2.16
Виртуальная коробка 6.1.26
Убунту 20.04 ЛТС
нпм v7.20.6
узел v16.6.6
Сначала мне было очень трудно установить webpack-cli, который выдал мне эту ошибку:
нпм ОШИБКА! код ЭПРОТО
нпм ОШИБКА! символическая ссылка системного вызова
нпм ОШИБКА! путь ../желудь/корзина/желудь
нпм ОШИБКА! место назначения /vagrant/my_project/frontend/node_modules/.bin/желудь
нпм ОШИБКА! ошибка -71
нпм ОШИБКА! EPROTO: ошибка протокола, символическая ссылка '../acorn/bin/acorn' -> '/vagrant/my_project/frontend/node_modules/.bin/acorn'
нпм ОШИБКА! Полный журнал этого запуска можно найти в:
нпм ОШИБКА! /root/.npm/_logs/2021-08-16T05_40_20_295Z-debug.log
Пока я успешно не установил его с помощью следующих команд:
sudo npm install -g save-dev webpack-cli
Бег sudo webpack-кли
также дал мне это:
активы по статусу 0 байт [кэшировано] 1 актив
ПРЕДУПРЕЖДЕНИЕ в конфигурации
Параметр «режим» не был установлен, для этого значения веб-пакет вернется к «производственному».
Установите для параметра «режим» значение «разработка» или «производство», чтобы включить значения по умолчанию для каждого
среда.
Вы также можете установить значение «none», чтобы отключить любое поведение по умолчанию. Узнайте больше: hts://webpack.js.org/configuration/mode/
ОШИБКА в главном
Модуль не найден: ошибка: не удается разрешить «./src» в «/vagrant/my_project/frontend»
разрешить './src' в '/vagrant/my_project/frontend'
используя файл описания: /vagrant/my_project/frontend/package.json (относительный путь: .)
Поле «Браузер» не содержит действительной конфигурации псевдонима.
используя файл описания: /vagrant/my_project/frontend/package.json (относительный путь: ./src)
нет расширения
Поле «Браузер» не содержит действительной конфигурации псевдонима.
/vagrant/my_project/frontend/src не является файлом
.js
Поле «Браузер» не содержит действительной конфигурации псевдонима.
/vagrant/my_project/frontend/src.js не существует
.json
Поле «Браузер» не содержит действительной конфигурации псевдонима.
/vagrant/my_project/frontend/src.json не существует
.wasm
Поле «Браузер» не содержит действительной конфигурации псевдонима.
/vagrant/my_project/frontend/src.wasm не существует
как каталог
существующий каталог /vagrant/my_project/frontend/src
используя файл описания: /vagrant/my_project/frontend/package.on (относительный путь: ./src)
используя путь: /vagrant/my_project/frontend/src/index
используя файл описания: /vagrant/my_project/frontend/packe.json (относительный путь: ./src/index)
нет расширения
Поле «Браузер» не содержит действительной конфигурации псевдонима.
/vagrant/my_project/frontend/src/index не существует
.js
Поле «Браузер» не содержит действительной конфигурации псевдонима.
/vagrant/my_project/frontend/src/index.js не существует
.json
Поле «Браузер» не содержит действительной конфигурации псевдонима.
/vagrant/my_project/frontend/src/index.json не существует
.wasm
Поле «Браузер» не содержит действительной конфигурации псевдонима.
/vagrant/my_project/frontend/src/index.wasm не существует
webpack 5.50.0 скомпилирован с 1 ошибкой и 1 предупреждением за 150 мс
Но я проигнорировал это и продолжил установку других пакетов, таких как babel и react, используя нпм установить -g
.
Теперь, после настройки моего проекта и запуска этой команды:
sudo npm запустить разработчика
Я получил следующую ошибку:
> интерфейс@1.0.0 разработчик
> webpack --mode development --watch
[webpack-cli] Не удалось загрузить конфигурацию «/vagrant/my_project/frontend/webpack.config.js»
[webpack-cli] Ошибка: не удается найти модуль «webpack»
Требуется стек:
- /vagrant/my_project/frontend/webpack.config.js
- /usr/lib/node_modules/webpack-cli/lib/webpack-cli.js
- /usr/lib/node_modules/webpack-cli/lib/bootstrap.js
- /usr/lib/node_modules/webpack-cli/bin/cli.js
- /usr/lib/node_modules/webpack/bin/webpack.js
в Function.Module._resolveFilename (узел: внутренний/модули/cjs/загрузчик:933:15)
в Function.Module._load (узел: внутренний/модули/cjs/загрузчик:778:27)
в Module.require (узел: внутренний/модули/cjs/загрузчик:1005:19)
при необходимости (/usr/lib/node_modules/webpack-cli/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
в Object.<anonymous> (/vagrant/my_project/frontend/webpack.config.js:2:17)
в Module._compile (/usr/lib/node_modules/webpack-cli/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
в Object.Module._extensions..js (узел: внутренний/модули/cjs/загрузчик:1153:10)
в Module.load (узел: внутренний/модули/cjs/загрузчик:981:32)
в Function.Module._load (узел: внутренний/модули/cjs/загрузчик:822:12)
в Module.require (узел: внутренний/модули/cjs/загрузчик:1005:19) {
код: 'MODULE_NOT_FOUND',
требуется стек: [
'/vagrant/my_project/frontend/webpack.config.js',
'/usr/lib/node_modules/webpack-cli/lib/webpack-cli.js',
'/usr/lib/node_modules/webpack-cli/lib/bootstrap.js',
'/usr/lib/node_modules/webpack-cli/bin/cli.js',
'/usr/lib/node_modules/webpack/bin/webpack.js'
]
}
Кстати, вот содержимое моего webpack.config.js
файл:
постоянный путь = требуется ("путь");
const webpack = require("webpack");
модуль.экспорт = {
запись: "./src/index.js",
вывод: {
путь: path.resolve(__dirname, "./static/frontend"),
имя файла: "[имя].js",
},
модуль: {
правила: [
{
тест: /\.js$/,
исключить: /node_modules/,
использовать: {
загрузчик: "бабель-загрузчик",
},
},
],
},
оптимизация: {
свести к минимуму: правда,
},
плагины: [
новый webpack.DefinePlugin({
"процесс.env": {
NODE_ENV: JSON.stringify("производство"),
},
}),
],
};
Я думаю, что это связано с символическими ссылками, но я не хочу тратить часы на отладку чего-то, чего не понимаю. Я просто надеюсь, что кто-то может найти и ответить на это.