gatsby develop
возвращает указанную выше ошибку
Я обновил сайт с версии 2 до версии 2, скопировав свои зависимости, модули и страницы поверх и следуя руководству здесь: https://next.gatsbyjs.org/docs/migrating-from-v1-to-v2/
System:
OS: macOS High Sierra 10.13.6
CPU: x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
Shell: 5.3 - /bin/zsh
Binaries:
Node: 8.11.3 - /usr/local/bin/node
Yarn: 1.7.0 - /usr/local/bin/yarn
npm: 6.4.0 - /usr/local/bin/npm
Browsers:
Chrome: 68.0.3440.106
Safari: 11.1.2
npmPackages:
gatsby: 2.0.0-rc.9 => 2.0.0-rc.9
gatsby-plugin-canonical-urls: ^2.0.0-rc.1 => 2.0.0-rc.1
gatsby-plugin-google-tagmanager: ^2.0.0-rc.1 => 2.0.0-rc.1
gatsby-plugin-manifest: next => 2.0.2-rc.1
gatsby-plugin-offline: next => 2.0.0-rc.2
gatsby-plugin-react-helmet: ^3.0.0-rc.1 => 3.0.0-rc.1
gatsby-plugin-remove-trailing-slashes: ^2.0.0-rc.1 => 2.0.0-rc.1
gatsby-plugin-robots-txt: ^1.3.0 => 1.3.0
gatsby-plugin-sitemap: ^2.0.0-rc.1 => 2.0.0-rc.1
gatsby-plugin-styled-components: ^3.0.0-rc.1 => 3.0.0-rc.1
gatsby-source-apiserver: ^1.3.1 => 1.3.1
gatsby-source-filesystem: ^2.0.1-rc.1 => 2.0.1-rc.1
gatsby-source-wordpress: ^3.0.0-rc.1 => 3.0.0-rc.1
gatsby-transformer-javascript-frontmatter: ^2.0.0-rc.2 => 2.0.0-rc.2
gatsby-transformer-json: ^2.1.1-rc.1 => 2.1.1-rc.1
npmGlobalPackages:
gatsby-cli: 1.1.58
Я пробовал установить babel-preset-env
и удалить node_modules и переустановить.
Можете ли вы попробовать удалить файлы блокировки (yarn.lock / package-lock.json) и node_modules и снова переустановить?
Спасибо, Пие, да, попробовал, боюсь, нет.
На самом деле я просто исправил это, запустив npm install --save core-js
Потрясающие!
У вас все еще есть полный вывод ошибок (с трассировкой стека)? Было бы хорошо исправить это, если это связано с gatsby
а не с одним из пакетов третьей части?
У меня была такая же проблема, и я определил ее в babel, удалив зависимость core-js в их бета-версиях 7.0.0, прежде чем они снова добавят ее в свою окончательную версию.
@kmorf хороший найден! У меня такая же проблема.
У меня была такая же проблема, и я определил ее в babel, удалив зависимость core-js в их бета-версиях 7.0.0, прежде чем они снова добавят ее в свою окончательную версию.
Верно, это не то, что gatsby
может исправить, верно?
Также эта ошибка возникает в узле или в браузере? Определенно нужна дополнительная информация здесь, чтобы знать, действительно ли это должно быть проблемой здесь или что-то, что произошло выше по течению, и мы не можем контролировать: /
Я не думаю, что gatsby
должен пытаться это исправить. Когда это происходило, было много разных проектов React, которые терпели неудачу, поэтому пользователи добавили core-js
в свои devDependencies. У меня не было этой проблемы с тех пор, как был выпущен babel 7.0.0
.
А пока закроем это (снова :))
Я снова столкнулся с проблемой только сейчас. Я прикрепляю фиксацию к своему gatsby-node.js
. Я думаю, что получил ошибку, когда использовал _.each
вместо .forEach
.
Я тоже столкнулся с этой проблемой, и я думаю, что ее можно вернуть к изменениям Babel 7 для пакета @babel/polyfill
. Также см. Mdx-js / mdx # 271 для подробного описания моего текущего анализа. В настоящее время единственный способ избавиться от этого - добавить @babel/polyfill
качестве зависимости разработчика, которая, как описано в приведенном выше руководстве по миграции, теперь является более или менее просто прокси для пакета core-js
v2. .
Я тоже вижу эту проблему и могу подтвердить, что недавнее изменение в Babel сломало сборку. Теперь исследуем, как это можно исправить в Гэтсби. (Добавление core-js
к devDependencies
ничего не дало для сборки, что я могу сказать.)
@secretfader Вы можете добавить @babel/polyfill
в свой devDependencies
, он автоматически загрузит необходимые core-js
полифиллы. Обязательно удалите папку node_modules
и, возможно, файл package-lock.json
и запустите npm install
чтобы начать с чистого разрешенного дерева зависимостей.
Я могу воспроизвести проблему. Если вы ищете репозиторий для воспроизведения, https://github.com/mui-org/material-ui/blob/master/examples/gatsby/README.md - хороший вариант.
@secretfader Вы можете добавить
@babel/polyfill
в свойdevDependencies
, он автоматически загрузит необходимыеcore-js
полифиллы. Обязательно удалите папкуnode_modules
и, возможно, файлpackage-lock.json
и запуститеnpm install
чтобы начать с чистого разрешенного дерева зависимостей.
Добавление "@babel/polyfill": "^7.0.0",
и следование этим инструкциям у меня не сработало.
Добавление core-js действительно сработало npm install --save core-js
.
@ ben-rogerson Мне следовало обновить свой комментарий, потому что ошибка возникла снова после того, как я удалил свой package-lock.json
. Похоже, что зависимости не были разрешены правильно, но, по иронии судьбы, после этого все заработало. Иногда npm
- это загадка радужных единорогов: roll_eyes: Также в mdx-js / mdx # 271 сопровождающий написал, что он не работал с npm
, но при использовании yarn
все работает нормально.
Я поиграю с результатами при добавлении core-js
или @babel/polyfill
качестве зависимости, но мне любопытно, почему это работает после того, как core-js
уже разрешено через gatsby
и без явного импорта полифила в коде я не вижу разницы между решением devDependencies
.
Просто к сведению, но я недавно переключился с Yarn на NPM на одном из моих сайтов Gatsby и столкнулся с этой проблемой.
Как заявляет @arcticicestudio , это кажется особенно странным, учитывая, что gatsby
перечисляет core-js
как зависимость.
Дополнительная информация: после очистки .cache, node_modules и package-lock.json и повторной установки модулей через npm я получил
WebpackError: Cannot find module 'core-js/modules/es6.array.sort'
Установка core-js напрямую решает проблему.
пряжа добавить core-js
Если вы по-прежнему не можете удалить node_modules, используйте yarn для установки, не используйте cnpm для установки;
Я тоже сталкиваюсь с этой проблемой.
Изначально я запускал версию Storybook 5.1.0-alpha.X
. Если я запустил yarn why core-js
доминирующая версия core-js
(поднятая до core-js
) будет 2.6.5
.
После обновления до Storybook 5.1.0-beta.0
сегодня поднятая версия core-js
превратилась в 3.0.1
, что по какой-то причине сломало сборку Gatsby.
Почему Гэтсби не разрешает фактическую версию core-js
из своих зависимостей?
Я попробовал обходной путь, добавив core-js
к моему devDependencies
напрямую, но это не решило проблему.
Я была такая же проблема.
Понижение моей версии с core-js
до 2.6.5
(зависимость от разработчиков) исправило это.
больше не работает.npm install --save core-js
Вместо этого используйте npm install --save --dev [email protected]
.
Однако попробуйте запустить npm install --dev [email protected]
в каталоге проекта, чтобы не сохранять его глобально.
Если предыдущее не работает, используйте:
npm install --save [email protected] -g
Это работает, но не делайте этого
Я предполагаю, что причиной этой проблемы было то, что я использовал npm
для обновления и работы над проектом, который изначально был запущен с yarn
. Отсюда и беспорядок. Как указала arcticicestudio. *
Если предыдущее не работает, используйте:
npm install --save [email protected] -g
Глобальная установка таких пакетов - действительно плохая идея, и нет никаких причин для этого. Если у вас возникли проблемы при локальной установке (с закрепленной версией), это может быть связано с тем, что вы уже установили другие пакеты по всему миру, которые сейчас вызывают конфликты.
Думаю, основная проблема этого билета - npm
. Похоже, что он не разрешает дерево зависимостей правильно. Я перешел на yarn
прошлом году (в основном из-за _workspaces_) и больше никогда не испытывал проблем. Я думаю _npm_ пользователи должны использовать обходной путь, закрепив версию и надежду на то, что _npm_ 8 (который будет питаться от своего нового TINK Lib, объявил в своем _npm Дорожная карта Summer 2019_ блог) исправляет такие проблемы (или переключиться на yarn
для проектов на основе _Gatsby_).
Спасибо, Пие, да, попробовал, боюсь, нет.
На самом деле я просто исправил это, запустив
npm install --save core-js
Все заработало благодаря этому!
Самый полезный комментарий
Спасибо, Пие, да, попробовал, боюсь, нет.
На самом деле я просто исправил это, запустив
npm install --save core-js