Подтвердить что ты не робот

Webpack.validateSchema не является функцией

Webpack неожиданно бросает эту ошибку:

TypeError: webpack.validateSchema не является функцией

Все отлично работало в пятницу, не работая сегодня. Никаких новых коммитов, чтобы учиться с пятницы.

Обрезанный NPM, который не работал, удалил папку NPM и переустановил, без кубиков. Проверено на предыдущие ветки, которые не были переустановлены от Мастера более недели. Тем не менее.

У кого-нибудь есть идея?

4b9b3361

Ответ 1

Похож на ошибку npm, так как [email protected] требует [email protected]^2.1.0-beta.26, но npm не удалось установить его.

Самый простой способ избежать проблемы без обновления слишком много - это изменить зависимость в package.json для

  "webpack-dev-server": "2.1.0-beta.10",

Вместо чего-то вроде

  "webpack-dev-server": "^2.1.0-beta.9",

"^" char перед тем, как версия говорит "совместима с". Удаление его точно соответствует версии.

Не забудьте запустить npm install или npm update после.

Ответ 2

Сегодня я столкнулся с этой проблемой практически в то же время, что и вы, оказалось, что веб-пакет был обновлен снова.

Вот что я сделал, чтобы исправить это:

Сначала я запустил npm install и npm update, чтобы увидеть результат. Я выполнил обе эти команды, потому что у npm есть странный способ сообщать о неудовлетворенных зависимостях, иногда это неправильно, и когда вы повторно запускаете npm update или npm install, вы поймете, что неудовлетворенные зависимости больше не являются проблемой.

После выполнения этих команд я заметил, что единственным оставшимся сообщением было предупреждение:

npm WARN [email protected] requires a peer of [email protected]^2.1.0-beta.26 but none was installed.

Чтобы избавиться от этого, я изменил свой файл package.json на чтение "webpack": "2.1.0-beta.26" вместо "webpack": "2.1.0-beta.25" и запустил еще один npm install.

После этого я получил еще одну ошибку, когда попытался запустить npm start, в котором указано, что возникла проблема с моим конфигурационным файлом webpack. В моем случае я зашел в конфигурационный файл webpack для моей среды разработки (потому что пока я еще не готов к работе), и я нашел виновника, который был недопустимым параметром, называемым "outputPath".

Я прокомментировал эту строку, и теперь у меня все нормально работает.

Надеюсь, что это поможет, может быть, сейчас просто хак, но, надеюсь, это шаг в правильном направлении.

UPDATE:

Хорошо, поэтому я немного ошибался во всем, что "отлично работает". Оказывается, некоторые из моих погрузчиков работали неправильно; Bootstrap и некоторые другие вещи не загружались должным образом, нарушая мои стили. Поэтому, чтобы вернуть его туда, где я был раньше, я удалил папку node_modules и запустил npm install, используя следующее в package.json:

"webpack": "2.1.0-beta.25",
"webpack-dashboard": "^0.1.8",
"webpack-dev-middleware": "^1.6.1",
"webpack-dev-server": "2.1.0-beta.9",
"webpack-md5-hash": "^0.0.5",
"webpack-merge": "^0.15.0",

Надеемся, что подобные дискуссии помогут нам понять, как правильно двигаться вперед, когда выпущены новые версии веб-пакета.

Ответ 3

У меня тоже такая же ошибка. Я заблокировал свою версию webpack-dev-сервера в файле package.json и предотвратил возникновение ошибки. Это не устраняет проблему с корнем ошибки.

Это версия webpack-dev-сервера, которую я использую, но я уверен, что более поздние версии также работают: "webpack-dev-server": "2.1.0-beta.9",

Ответ 4

он работал у меня, когда я удаляю ^ и использую точную версию.

Из

"webpack": "2.1.0-beta.25",
"webpack-dev-middleware": "^1.6.1",
"webpack-dev-server": "^2.1.0-beta.9",
"webpack-md5-hash": "^0.0.5",
"webpack-merge": "^0.14.1"

to

"webpack": "2.1.0-beta.25",
"webpack-dev-middleware": "1.6.1",
"webpack-dev-server": "2.1.0-beta.9",
"webpack-md5-hash": "0.0.5",
"webpack-merge": "0.14.1"

Ответ 5

Хорошо, обновите здесь.

Пробовал то, что предложили некоторые из вас, которые, к сожалению, только глубже погрузились в кроличью нору ошибок со сломанными загрузчиками модулей.

В конце я обновился до "webpack": "^2.1.0-beta.26" и "webpack-dev-server": "^2.1.0-beta.11". После этого выяснилось, что произошли изменения, вызвавшие разрыв loaders - https://github.com/webpack/webpack/releases.

в конфигурации вашего webpack, измените loaders: [ ... ], на rules : [ ... ] и на все объявления загрузчика добавьте "-loader" к строковому значению, как это, { test: /node_modules\/i18n-iso-countries\/(de|es|nl|sv)\.js$/, loader: 'null-loader' }, { test: /\.coffee$/, loader: 'coffee-loader' }, { test: /\.ts$/, loader: ['awesome-typescript-loader']} и т.д.

Сделал это для меня. Надеюсь, это поможет кому-то еще столкнуться с проблемой.

Ответ 7

Как объяснено в этой проблеме GitHub, вам необходимо обновить webpack до webpack 2.1.0-beta.26 или более поздней версии. Поскольку последний выпуск v2.1 - это бета-версия .28, вам потребуется [email protected]^2.1.0-beta.28.

Обратите внимание, что одно из изменений, внесенных в бета .26, заключается в том, что вам нужно указать полное имя загрузчиков, например. замените loader: 'babel' на loader: 'babel-loader'.