Совершенно новый Macbook Pro Испытывает проблемы с запуском Gatsby Theme Apollo Docs

#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 .

Есть два способа решения этой проблемы:

  1. Вы можете принудительно установить и надеяться, что все ваши библиотеки будут работать, даже если не все они получат версии, которые, по их словам, им нужны. Используйте флаги --force или --legacy-peer-deps при запуске npm install .
  2. Вы можете просмотреть зависимости, выдающие предупреждения во время установки, и понизить / обновить их до тех пор, пока одноранговые зависимости всех ваших зависимостей фактически не окажутся в совместимом диапазоне.

Комментарии:

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. Спасибо за вашу постоянную помощь и извинения за еще один пост. Я продвинулся дальше, но пока не совсем понимаю ситуацию настолько, чтобы продолжать устранять неполадки. Я отредактировал сообщение с выводом обеих команд, которые вы дали мне в своем последнем комментарии. Спасибо, что упорствуете здесь, чувствуя себя абсолютным новичком.