npm install выдает неверное сообщение об ошибке, что это такое?

введите описание изображения здесь

Пожалуйста, проверьте картинку.

Я предполагаю, что это связано с package.json, но я не очень уверен.


Ответ на комментарий для получения дополнительной информации

Изначально я устанавливал material-ui.

Подробные сообщения здесь:

I: \ реагировать-шаблон> npm install material-ui

[email protected] I: \ реагировать-шаблон

+ - [email protected]

| + - [email protected]

| + - [email protected]

| + - НЕ УСТАНАВЛИВАЙТЕ ОТВЕТСТВЕННУЮ ЗАВИСИМОСТЬ response@^15.4.2

| + - [email protected]

| + - [email protected]

| + - [email protected]

| | + - НЕ УСТАНАВЛИВАЙТЕ ОТВЕТСТВЕННУЮ ЗАВИСИМОСТЬ response@^15.4.2

| | `- [email protected]

| + - [email protected]

| | `- [email protected]

| `- [email protected]

+ - ОТКЛЮЧИТЬ ОТВЕТСТВЕННУЮ ЗАВИСИМОСТЬ response-tap-event-plugin@^2.0.1

`- НЕ УСТАНОВИТЬ ОТВЕТСТВЕННУЮ ЗАВИСИМОСТЬ [email protected]

Затем я пытался npm install исправить НЕЗАВИСИМОСТЬ СВОЕЙ ЗАВИСИМОСТИ.

Первая попытка дает следующее:

[email protected] I: \ реагировать-шаблон

+ - [email protected] недействителен

+ - [email protected]

`- НЕ УСТАНОВИТЬ ОТВЕТСТВЕННУЮ ЗАВИСИМОСТЬ [email protected]

`- [email protected]

Как видите, это первая invalid, которую я встретил.

Так что я просто пытаюсь понять, почему выскакивает invalid и как это исправить.


Ответ на комментарий для получения дополнительной информации

Вот пакет package.json, раздел зависимостей

"зависимости": {"babel-polyfill": "6.20.0", "chalk": "1.1.3", "сжатие": "1.6.2", "cross-env": "3.1.3", " express ":" 4.14.0 "," fontfaceobserver ":" 2.0.7 "," immutable ":" 3.8.1 "," intl ":" 1.2.5 "," invariant ":" 2.2.2 "," ip ":" 1.1.4 "," lodash ":" 4.17.2 "," minimist ":" 1.2.0 "," react ":" 15.4.1 "," react-dom ":" 15.4.1 " , "react-шлем": "3.2.2", "react-intl": "2.1.5", "react-redux": "4.4.6", "react-router": "3.0.0", " response-router-redux ":" 4.0.6 "," react-router-scroll ":" 0.4.1 "," redux ":" 3.6.0 "," redux-immutable ":" 3.0.8 "," redux-saga ":" 0.14.0 "," Reselect ":" 2.5.4 "," sanitize.css ":" 4.1.0 "," styled-components ":" 1.1.2 "," warning ":" 3.0.0 "," whatwg-fetch ":" 2.0.1 "},

и раздел devDependencies

"devDependencies": {"babel-cli": "6.18.0", "babel-core": "6.21.0", "babel-eslint": "7.1.1", "babel-loader": "6.2. 10 »,« babel-plugin-dynamic-import-node »:« 1.0.0 »,« babel-plugin-react-intl »:« 2.2.0 »,« babel-plugin-react-transform »:« 2.0. 2 "," babel-plugin-transform-es2015-modules-commonjs ":" 6.18.0 "," babel-plugin-transform-react-constant-elements ":" 6.9.1 "," babel-plugin-transform- react-inline-elements ":" 6.8.0 "," babel-plugin-transform-react-remove-prop-types ":" 0.2.11 "," babel-preset-latest ":" 6.16.0 "," babel-preset-react ":" 6.16.0 "," babel-preset-react-hmre ":" 1.1.1 "," babel-preset-stage-0 ":" 6.16.0 "," cheerio ":" 0.22.0 "," круговой-плагин-зависимости ":" 2.0.0 "," комбинезон ":" 2.11.15 "," css-loader ":" 0.26.1 "," фермент ":" 2.6.0 " , «eslint»: «3.11.1», «eslint-config-airbnb»: «13.0.0», «eslint-config-airbnb-base»: «10.0.1», «eslint-import-resolver- webpack »:« 0.8.0 »,« eslint-plugin-import »:« 2.2.0 »,« eslint-plugin-jsx-a11y »:« 2.2.3 »,« eslint-plugin-react »:« 6.7. 1 "," eslint-plugin-redux-saga ":" 0.1.5 "," eventsource-polyfill ":" 0.9.6 "," exports-loader ":" 0.6.3 "," file-loader ":" 0.9.0 "," html-loader ":" 0.4.4 "," html-webpack-plugin ":" 2.24.1 "," image-webpack-loader ":" 2.0.0 "," imports-loader " : "0.6.5", "jest-cli": "18.0.0", "lint-staged": "3.2.1", "ngrok": "2.2.4", "node-plop": "0.5. 4 "," null-loader ":" 0.1.1 "," offline-plugin ":" 4.5.2 "," plop ":" 1.7.3 "," pre-commit ":" 1.1.3 "," react-addons-test-utils »:« 15.4.1 »,« rimraf »:« 2.5.4 »,« shelljs »:« 0.7.5 »,« sinon »:« 2.0.0-pre »,« style- loader ":" 0.13.1 "," url-loader ":" 0.5.7 "," webpack ":" 2.2.0-rc.3 "," webpack-dev-middleware ":" 1.9.0 "," webpack-hot-middleware ":" 2.15.0 "}


person Marson Mao    schedule 06.04.2017    source источник
comment
Вы можете предоставить дополнительную информацию? Что еще было напечатано на выходе выше и ниже этого?   -  person E_net4 the curator    schedule 06.04.2017
comment
@ E_net4 Привет, я добавил больше информации!   -  person Marson Mao    schedule 06.04.2017
comment
Также включите package.json вашего проекта или хотя бы зарегистрированные зависимости.   -  person E_net4 the curator    schedule 06.04.2017
comment
@ E_net4 Хорошо, я добавил раздел зависимостей!   -  person Marson Mao    schedule 07.04.2017


Ответы (2)


Недопустимая зависимость здесь предполагает, что была установлена ​​неподходящая версия пакета зависимостей. В этом случае ваш проект запрашивает [email protected], но вместо него была установлена ​​версия 2.2.1. Обратите внимание, что в диапазоне версий нет символа вставки (^) или тильды (~), что означает, что 2.2.1 не является допустимым совпадением.

Другой конфликт происходит с React, который исправлен в версии 15.4.1 и должен быть обновлен до диапазона версий ^15.4.2, как того требуют другие зависимости (например, material-ui).

Чтобы установить новую версию зависимости (обновить / понизить ее), не забудьте соответствующий флаг сохранения (_7 _ / _ 8_ или _9 _ / _ 10_).

npm install -S react@^15.4.2

К сожалению, react-tap-event-plugin зависит от версии 2.2.0-rc3 webpack, поэтому вам не следует обновлять webpack. Вместо этого вы можете позвонить npm update --dev, чтобы убедиться, что все зарегистрированные зависимости установлены с правильными версиями. Если ничего не помогает, наивный, но эффективный трюк - удалить папку node_modules и установить все пакеты с нуля.

person E_net4 the curator    schedule 07.04.2017
comment
Хорошо, звучит здорово. Просто хочу подтвердить все детали: сообщение invalid предполагает конфликт версий, однако конфликтующая зависимость все еще была успешно установлена, не так ли? Типа, devDepdencies хочет 2.2.0-rc3, и я установил 2.2.1, поэтому он сообщает мне invalid, но по-прежнему позволяет мне это делать, верно? - person Marson Mao; 07.04.2017
comment
Ах да, как вы узнали, что react-tap-event-plugin зависит от 2.2.0-rc3? - person Marson Mao; 07.04.2017
comment
К сожалению, я думаю, что указывал неправильное содержимое package.json в своем сообщении, я исправил его с помощью правильного содержимого github, но devDependencies для webpack по-прежнему 2.2.0-rc3, поэтому я думаю, что ваш ответ все еще действителен. - person Marson Mao; 07.04.2017
comment
1. npm не запрещает вам устанавливать недопустимые версии пакета, если вам это интересно. Когда у вас есть пакет, лучше всего использовать npm update и тщательно обновлять зависимости. Этот другой мой ответ дает несколько советов. 2. react-tap-event-plugin, похоже, зависит от [email protected], потому что он прямо в ваших журналах. ;) 3. Соответственно обновлю свой ответ. - person E_net4 the curator; 07.04.2017

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

В частности, в ОС Windows, где регистр пути \ имени файла не имеет значения.

Например, я установил с именем папки, которое начиналось с верхнего регистра, а затем при последующих вызовах я использовал имя в нижнем регистре. Это привело к тому, что пакет не был установлен, и появилось красное invalid предупреждение рядом с именем пакета.

Изучите package.json и используйте точный путь и имя файла и посмотрите, поможет ли это вам.

person Curt Keisler    schedule 04.01.2018