2017-02-23 109 views
3

UPDATE TL; DR Благодаря @ Синан-bolel я теперь знаю командуWebpack построить ошибку

npm ls --depth=0 

Какой точно отображать текущий установлены НПМ пакетов. Это достало меня наполовину. Теперь нужно различать рабочие и неработающие узловые_модули.

ORIGINAL ВОПРОС

Как я обновить package.json, чтобы отразить все местные установленные пакеты из моего проекта, а не что там в package.json?

Хорошо, поэтому webpack остановил строительство без подсказки. Это происходит на рабочем столе под названием PC_A.

У PC_B есть рабочая настройка, работающая от кода Visual Studio (с помощью powershell). Когда сайт PC_A был разрушен, моя реакция была легкой, ай. Просто удалите исходный код с PC_A и обновите его из SVN. Это восстановило файлы до ошибки связывания и должно быть легко получить резервное копирование и запуск.

Просто запустите npm install, чтобы переустановить все узловые_модули (которые хранятся вне SVN), и вы хорошо правы? нет.

Webpack все еще генерирует ту же ошибку сборки после переустановки с установкой npm. (Который к моему знанию читает package.json и устанавливает пакеты, как указано) Запуска НПМ запуск сборка генерирует в следующей ошибке:

node_modules\extract-text-webpack-plugin\schema\validator.js:11 
      throw new Error(ajv.errorsText()); 
    ^
Error: data['sourceMap'] should NOT have additional properties 

Странных обходной путь: Я застегнул все мое node_modules карты и передан его PC_A и поместил его правильно. Теперь webpack строит просто отлично. Так что я думаю, что в node_modules на PC_B должно быть что-то, что исправляет эту проблему, поэтому я хочу обновить свой пакет package.json. Однако я НЕ хочу использовать обновление npm --save (-dev), потому что это обновит и локальные пакеты AND package.json до последней версии. Я хочу заполнить package.json локальной версией.

Что я пробовал:

npm upgrade --save & npm upgrade --save-dev 
npm shrinkwrap (looks promising but doesnt update package.json) 
manual updating, tedious and not really scaleable) 
npm ls --depth=0 (works perfect, showing all installed packages! Now to find the culprit) 

'не работает node_modules' NPM Ls --depth = 0 дает:

[email protected] C:\brokenapp 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- [email protected] 
+-- [email protected]-beta.3.0.1 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- UNMET PEER DEPENDENCY [email protected] 
`-- [email protected] 

npm ERR! peer dep missing: [email protected]^2.2.0, required by [email protected] 
npm ERR! peer dep missing: [email protected]^2.2.0, required by [email protected] 

'Работа node_modules' NPM Ls --depth = 0 дает :

[email protected] C:\app 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @easy-webpack/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- UNMET PEER DEPENDENCY [email protected] 
`-- [email protected] 

npm ERR! peer dep missing: [email protected]^2.2.0, required by [email protected] 
npm ERR! extraneous: [email protected] C:\app\node_modules\wait-on\node_modules\moment 

Итак, как же я различать не работать и работать, чтобы найти пакет (ы), которые вызывает ошибку?

+0

Вы можете запустить 'npm ls --depth = 0' на PC_A/B и сравнить версии пакетов, перечисленные с именами, указанными в package.json, и друг другу. Не могли бы вы добавить Gist вашего пакета.json и вывод 'npm ls'? –

+1

wil попробуйте этот понедельник первая вещь @SinanBolel – DGRFDSGN

+0

звучит хорошо, спасибо! –

ответ

2

Вы можете использовать npm ls --depth=0 для отображения установленных пакетов для проекта.

Запустите его на PC_A и PC_B, затем сравните версии пакетов, перечисленных на обеих машинах, с версиями, указанными в package.json. Это позволит вам найти какие-либо расхождения.

Вы также можете заблокировать пакеты до точных версий, удалив ^, >= и т. Д. Из номеров версий в пакете.json, чтобы гарантировать, что точная версия, указанная в файле package.json, будет установлена.

См. Документацию semver для получения дополнительной информации о стандартах контроля версий.

+0

Я добавил результат обоих pc к моему первоначальному вопросу, возможно, вы можете помочь мне найти виновника? – DGRFDSGN

+0

Я бы предложил поместить списки бок о бок, чтобы найти различия ... как в первой строке **. –

+0

Да, это то, что я сделал, за исключением различий в следующем: PC_A forinstance gulp v. 1.0.0 и PC_B gulp v^2.0.0,^=> трудно переопределить версии и придумать, какой из «тормозов» установить на чистую настройку. Hardcoding всех номеров версий не разрешил эту стуча в стену, так сказать:/ – DGRFDSGN

Смежные вопросы