#javascript #node.js
Вопрос:
Кажется, я не могу запустить этот проект на моем новом Macbook Pro:
https://github.com/apollographql/gatsby-theme-apollo/tree/main/packages/gatsby-theme-apollo-docs
Это команда для запуска:
npm установить gatsby-theme-apollo-docs
Я получаю все эти предупреждения «не удалось разрешить зависимость», я попытался запустить:
исправление аудита npm
и
исправление аудита npm — принудительное
Но все еще не могу запустить этот проект. Вот что он говорит, когда я его запускаю:
@MBP16inch2021 test % sudo npm install gatsby-theme-apollo-docs
Password:
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: gatsby-theme-apollo-docs@5.3.1
npm WARN Found: react@16.14.0
npm WARN node_modules/gatsby-theme-apollo-docs/node_modules/react
npm WARN peer react@"^0.14.0 || ^15.0.0 || ^16.0.0" from recompose@0.30.0
npm WARN node_modules/gatsby-theme-apollo-docs/node_modules/recompose
npm WARN recompose@"^0.30.0" from gatsby-theme-apollo-docs@5.3.1
npm WARN node_modules/gatsby-theme-apollo-docs
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@">=16.9.0" from gatsby-theme-apollo-docs@5.3.1
npm WARN node_modules/gatsby-theme-apollo-docs
npm WARN gatsby-theme-apollo-docs@"^5.3.1" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: react-use@9.12.0
npm WARN Found: react@17.0.2
npm WARN node_modules/react
npm WARN react@"^17.0.2" from the root project
npm WARN 18 more (@apollo/space-kit, @emotion/core, @emotion/styled, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@"^16.8.0" from react-use@9.12.0
npm WARN node_modules/gatsby-theme-apollo-core/node_modules/react-use
npm WARN react-use@"^9.11.0" from gatsby-theme-apollo-core@3.0.35
npm WARN node_modules/gatsby-theme-apollo-core
npm WARN
npm WARN Conflicting peer dependency: react@16.14.0
npm WARN node_modules/react
npm WARN peer react@"^16.8.0" from react-use@9.12.0
npm WARN node_modules/gatsby-theme-apollo-core/node_modules/react-use
npm WARN react-use@"^9.11.0" from gatsby-theme-apollo-core@3.0.35
npm WARN node_modules/gatsby-theme-apollo-core
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: react-use@9.12.0
npm WARN Found: react-dom@17.0.2
npm WARN node_modules/react-dom
npm WARN peer react-dom@">=16.8" from @tippyjs/react@4.2.5
npm WARN node_modules/@tippyjs/react
npm WARN @tippyjs/react@"^4.0.0" from @apollo/space-kit@5.6.3
npm WARN node_modules/@apollo/space-kit
npm WARN 11 more (apollo-algolia-autocomplete, framer-motion, gatsby, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react-dom@"^16.8.0" from react-use@9.12.0
npm WARN node_modules/gatsby-theme-apollo-core/node_modules/react-use
npm WARN react-use@"^9.11.0" from gatsby-theme-apollo-core@3.0.35
npm WARN node_modules/gatsby-theme-apollo-core
npm WARN
npm WARN Conflicting peer dependency: react-dom@16.14.0
npm WARN node_modules/react-dom
npm WARN peer react-dom@"^16.8.0" from react-use@9.12.0
npm WARN node_modules/gatsby-theme-apollo-core/node_modules/react-use
npm WARN react-use@"^9.11.0" from gatsby-theme-apollo-core@3.0.35
npm WARN node_modules/gatsby-theme-apollo-core
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: @reach/router@1.3.4
npm WARN Found: react@17.0.2
npm WARN node_modules/react
npm WARN react@"^17.0.2" from the root project
npm WARN 18 more (@apollo/space-kit, @emotion/core, @emotion/styled, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@"15.x || 16.x || 16.4.0-alpha.0911da3" from @reach/router@1.3.4
npm WARN node_modules/gatsby/node_modules/@reach/router
npm WARN @reach/router@"^1.3.4" from gatsby@2.32.13
npm WARN node_modules/gatsby
npm WARN 2 more (gatsby-link, gatsby-react-router-scroll)
npm WARN
npm WARN Conflicting peer dependency: react@16.14.0
npm WARN node_modules/react
npm WARN peer react@"15.x || 16.x || 16.4.0-alpha.0911da3" from @reach/router@1.3.4
npm WARN node_modules/gatsby/node_modules/@reach/router
npm WARN @reach/router@"^1.3.4" from gatsby@2.32.13
npm WARN node_modules/gatsby
npm WARN 2 more (gatsby-link, gatsby-react-router-scroll)
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: @reach/router@1.3.4
npm WARN Found: react-dom@17.0.2
npm WARN node_modules/react-dom
npm WARN peer react-dom@">=16.8" from @tippyjs/react@4.2.5
npm WARN node_modules/@tippyjs/react
npm WARN @tippyjs/react@"^4.0.0" from @apollo/space-kit@5.6.3
npm WARN node_modules/@apollo/space-kit
npm WARN 11 more (apollo-algolia-autocomplete, framer-motion, gatsby, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react-dom@"15.x || 16.x || 16.4.0-alpha.0911da3" from @reach/router@1.3.4
npm WARN node_modules/gatsby/node_modules/@reach/router
npm WARN @reach/router@"^1.3.4" from gatsby@2.32.13
npm WARN node_modules/gatsby
npm WARN 2 more (gatsby-link, gatsby-react-router-scroll)
npm WARN
npm WARN Conflicting peer dependency: react-dom@16.14.0
npm WARN node_modules/react-dom
npm WARN peer react-dom@"15.x || 16.x || 16.4.0-alpha.0911da3" from @reach/router@1.3.4
npm WARN node_modules/gatsby/node_modules/@reach/router
npm WARN @reach/router@"^1.3.4" from gatsby@2.32.13
npm WARN node_modules/gatsby
npm WARN 2 more (gatsby-link, gatsby-react-router-scroll)
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: react-side-effect@1.2.0
npm WARN Found: react@17.0.2
npm WARN node_modules/react
npm WARN react@"^17.0.2" from the root project
npm WARN 18 more (@apollo/space-kit, @emotion/core, @emotion/styled, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@"^0.13.0 || ^0.14.0 || ^15.0.0 || ^16.0.0" from react-side-effect@1.2.0
npm WARN node_modules/react-helmet/node_modules/react-side-effect
npm WARN react-side-effect@"^1.1.0" from react-helmet@5.2.1
npm WARN node_modules/react-helmet
npm WARN
npm WARN Conflicting peer dependency: react@16.14.0
npm WARN node_modules/react
npm WARN peer react@"^0.13.0 || ^0.14.0 || ^15.0.0 || ^16.0.0" from react-side-effect@1.2.0
npm WARN node_modules/react-helmet/node_modules/react-side-effect
npm WARN react-side-effect@"^1.1.0" from react-helmet@5.2.1
npm WARN node_modules/react-helmet
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: create-react-context@0.3.0
npm WARN Found: react@17.0.2
npm WARN node_modules/react
npm WARN react@"^17.0.2" from the root project
npm WARN 18 more (@apollo/space-kit, @emotion/core, @emotion/styled, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@"^0.14.0 || ^15.0.0 || ^16.0.0" from create-react-context@0.3.0
npm WARN node_modules/gatsby/node_modules/@reach/router/node_modules/create-react-context
npm WARN create-react-context@"0.3.0" from @reach/router@1.3.4
npm WARN node_modules/gatsby/node_modules/@reach/router
npm WARN
npm WARN Conflicting peer dependency: react@16.14.0
npm WARN node_modules/react
npm WARN peer react@"^0.14.0 || ^15.0.0 || ^16.0.0" from create-react-context@0.3.0
npm WARN node_modules/gatsby/node_modules/@reach/router/node_modules/create-react-context
npm WARN create-react-context@"0.3.0" from @reach/router@1.3.4
npm WARN node_modules/gatsby/node_modules/@reach/router
up to date, audited 2746 packages in 6s
298 packages are looking for funding
run `npm fund` for details
70 vulnerabilities (4 low, 30 moderate, 36 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
Я перезапустил, установил последнюю версию node, react и т. Д. Кажется, я просто не могу запустить эту штуку, и я не знаю, что я делаю с этим исправлением аудита npm, но это ничего не решило. Спасибо за вашу помощь!
Редактировать в комментариях к этому сообщению я попробовал пару новых команд:
Когда я запускаю
npm i react@16.14.0
Я получаю:
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: gatsby-theme-apollo-docs@5.3.1
npm WARN Found: react@16.14.0
npm WARN node_modules/react
npm WARN peer react@"^16.13.1 || ^17.0.0" from @mdx-js/react@1.6.22
npm WARN node_modules/@mdx-js/react
npm WARN peer @mdx-js/react@"^1.0.0" from gatsby-plugin-mdx@1.10.1
npm WARN node_modules/gatsby-plugin-mdx
npm WARN 1 more (the root project)
npm WARN 21 more (gatsby, @reach/router, create-react-context, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@"17.0.2" from apollo-algolia-autocomplete@1.2.1
npm WARN node_modules/apollo-algolia-autocomplete
npm WARN apollo-algolia-autocomplete@"^1.2.1" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: gatsby-theme-apollo-docs@5.3.1
npm WARN Found: react@16.14.0
npm WARN node_modules/react
npm WARN peer react@"^16.13.1 || ^17.0.0" from @mdx-js/react@1.6.22
npm WARN node_modules/@mdx-js/react
npm WARN peer @mdx-js/react@"^1.0.0" from gatsby-plugin-mdx@1.10.1
npm WARN node_modules/gatsby-plugin-mdx
npm WARN 1 more (the root project)
npm WARN 21 more (gatsby, @reach/router, create-react-context, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@"^0.14.0 || ^15.0.0" from recompose@0.17.0
npm WARN node_modules/recompose
npm WARN recompose@"^0.17.0" from the root project
up to date, audited 2952 packages in 3s
324 packages are looking for funding
run `npm fund` for details
62 vulnerabilities (30 moderate, 32 high)
To address issues that do not require attention, run:
npm audit fix
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
И когда я запускаю
npm i react-dom@16.14.0
Я получаю:
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: gatsby-theme-apollo-docs@5.3.1
npm WARN Found: react-dom@16.14.0
npm WARN node_modules/react-dom
npm WARN peer react-dom@"^16.4.2 || ^17.0.0" from gatsby@2.32.13
npm WARN node_modules/gatsby
npm WARN peer gatsby@"^2.0.0" from babel-plugin-remove-graphql-queries@2.16.1
npm WARN node_modules/babel-plugin-remove-graphql-queries
npm WARN 17 more (gatsby-plugin-algolia, ...)
npm WARN 11 more (@reach/router, gatsby-link, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react-dom@"17.0.2" from apollo-algolia-autocomplete@1.2.1
npm WARN node_modules/apollo-algolia-autocomplete
npm WARN apollo-algolia-autocomplete@"^1.2.1" from the root project
up to date, audited 2952 packages in 21s
324 packages are looking for funding
run `npm fund` for details
62 vulnerabilities (30 moderate, 32 high)
To address issues that do not require attention, run:
npm audit fix
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
Комментарии:
1. Две вещи: (1) Все, что мы видели, — это предупреждения об установке, можете ли вы подтвердить наличие ошибок при фактическом запуске проекта? (2) Можете ли вы разместить весь свой package.json для проекта, в который вы устанавливаете?
2. Тревога нуба! Я просто запускал команды установки, но на самом деле не запускал проект с gatsby development. Мне так жаль, что я потратил ваше время впустую! Спасибо вам @msmith за вашу помощь.
3. Рад, что у вас все получилось!
Ответ №1:
Во-первых, я вижу, что вы использовали sudo
в своем блоке кода выше, что может вызвать проблемы, и, вероятно, это не то, что вы хотите.
Мне кажется вероятным, что проблема связана с разрешением одноранговой зависимости. Хотя npm audit
это будет указывать на потенциальные уязвимости, но ваше приложение не должно завершаться сбоем из-за того, что вы его не запустили. Одноранговые зависимости, требуемые gatsby-theme-apollo-docs@v5.3.1 являются gatsby@^2.13.80
, react@>=16.9.0
, и react-dom@>=16.9.0
. Но похоже, что у вас установлены другие пакеты, которые имеют несовместимые требования к этим библиотекам (в частности, к react
). Например:
npm WARN Could not resolve dependency:
npm WARN peer react@">=16.9.0" from gatsby-theme-apollo-docs@5.3.1
npm WARN node_modules/gatsby-theme-apollo-docs
npm WARN gatsby-theme-apollo-docs@"^5.3.1" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: react-use@9.12.0
npm WARN Found: react@17.0.2
npm WARN node_modules/react
npm WARN react@"^17.0.2" from the root project
npm WARN 18 more (@apollo/space-kit, @emotion/core, @emotion/styled, ...)
Внимательное чтение показывает, что одна из одноранговых зависимостей, перечисленных react-use
is react@17.0.2
, несовместима с версией, указанной gatsby-theme-apollo-docs
.
Есть два способа решения этой проблемы:
- Вы можете принудительно установить и надеяться, что все ваши библиотеки будут работать, даже если не все они получат версии, которые, по их словам, им нужны. Используйте флаги
--force
или--legacy-peer-deps
при запускеnpm install
. - Вы можете просмотреть зависимости, выдающие предупреждения во время установки, и понизить / обновить их до тех пор, пока одноранговые зависимости всех ваших зависимостей фактически не окажутся в совместимом диапазоне.
Комментарии:
1. Спасибо за ваш ответ. Я клонировал репозиторий и перешел в каталог «gatsby-theme-apollo-docs». Затем у меня есть «npm install —force» и «npm install —legacy-peer-deps», и обе команды возвращаются с более чем 50 уязвимостями. Я не уверен, что вы подразумеваете под своим ответом в # 2 о прохождении зависимостей и их обновлении / понижении. Не могли бы вы точно описать, что я должен сделать, чтобы понизить / обновить, чтобы разрешить проблему «react-use», требующую «react@17.0.2 » ситуация, которую вы обрисовали выше? Возможно, увидев этот пример, я получу некоторый импульс и смогу решить остальные проблемы.
2. Идея в том, что вам может потребоваться установить некоторые из ваших библиотек в более ранних версиях, чтобы все они были совместимы. Если какая-то зависимость говорит, что ей нужна более старая версия
react
, вам нужно установить ее на более раннюю версию, чтобы быть совместимой. Если ему нужна новая версия, вам нужно будет установить его в более поздней версии. Подумав об этом конкретном случае подробнее, я бы порекомендовал вам попробовать понизить рейтинг самого react:npm i react@16.14.0
иnpm i react-dom@16.14.0
.3. Спасибо за вашу постоянную помощь и извинения за еще один пост. Я продвинулся дальше, но пока не совсем понимаю ситуацию настолько, чтобы продолжать устранять неполадки. Я отредактировал сообщение с выводом обеих команд, которые вы дали мне в своем последнем комментарии. Спасибо, что упорствуете здесь, чувствуя себя абсолютным новичком.