Gatsby: [v2] 错误:找不到模块“core-js/modules/es6.array.filter”

创建于 2018-09-04  ·  25评论  ·  资料来源: gatsbyjs/gatsby

描述

gatsby develop返回上述错误

重现步骤

我通过复制我的依赖项、模块和页面并按照此处的指南将站点从 v2 升级到 v2: https :

环境

  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 并重新安装。

最有用的评论

谢谢 Pieh 是的,试过了,恐怕不行。

我实际上只是通过运行npm install --save core-js解决这个问题

所有25条评论

您可以尝试删除锁定文件(yarn.lock / package-lock.json)和 node_modules 并重新安装吗?

谢谢 Pieh 是的,试过了,恐怕不行。

我实际上只是通过运行npm install --save core-js解决这个问题

惊人的!

您是否仍然有完整的错误输出(带有堆栈跟踪)? 如果这与gatsby相关并且第三部分软件包之一没有问题,那么修复它会很好吗?

Pieh 我有同样的问题,我指出它是 babel 在他们的 7.0.0 beta 版本中删除了 core-js 依赖项,然后他们在他们的最终版本中再次发布了它。

@kmorf好发现! 我也有同样的问题。

Pieh 我有同样的问题,我指出它是 babel 在他们的 7.0.0 beta 版本中删除了 core-js 依赖项,然后他们在他们的最终版本中再次发布了它。

对,这不是gatsby可以解决的问题吗?

此错误是否也发生在节点或浏览器中? 在这里肯定需要更多信息,以了解这是否是真正应该在这里出现的问题,还是发生在我们无法控制的上游:/

我不认为gatsby应该尝试解决这个问题。 发生这种情况时,有很多不同的 React 项目都失败了,因此用户将core-js到他们的 devDependencies 中。 自从babel 7.0.0发布以来,我就没有遇到过这个问题。

让我们暂时关闭它(再次:))

我刚才又遇到了这个问题。 我在gatsby-node.js上附加了一个提交。 我想我在使用_.each而不是.forEach时遇到了错误。

screen shot 2018-09-05 at 6 42 24 pm

我也受到这个问题的影响,我认为它可以追溯到Babel 7 对@babel/polyfill包的更改。 另请参阅 mdx-js/mdx#271 以获取我当前分析的详细说明。 目前摆脱这种情况的唯一解决方法是添加@babel/polyfill作为开发依赖项,如上面链接的迁移指南中所述,现在或多或少只是core-js v2 包的代理.

我也看到了这个问题,并且可以确认 Babel 最近的更改是破坏构建的原因。 现在研究如何在 Gatsby 中解决这个问题。 (将core-jsdevDependencies对我可以判断的构建没有任何作用。)

@secretfader您可以将@babel/polyfill到您的devDependencies ,它会自动加载必要的core-js polyfills。 确保删除您的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 polyfills。 确保删除您的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解决方案之间有任何区别。

仅供参考,但我最近在我的一个 Gatsby 网站上从 Yarn 切换到 NPM 并遇到了这个问题。

正如@arcticicestudio所说,鉴于gatsbycore-js列为依赖项,这似乎特别奇怪。

附加信息:在清理 .cache、node_modules 和 package-lock.json 并通过 npm 再次安装模块后,我得到了
WebpackError: Cannot find module 'core-js/modules/es6.array.sort'
安装 core-js 直接修复问题。

yarn add core-js
如果还不行
删除 node_modules,然后使用 yarn 安装,不要使用 cnpm 安装;

我也遇到了这个问题。

最初我运行的是故事书版本5.1.0-alpha.X 。 如果我运行yarn why core-js的主要版本core-js (挂到core-js那个)是2.6.5

今天更新到 Storybook 5.1.0-beta.0core-js的提升版本变成了3.0.1 ,并且由于某种原因,这破坏了 Gatsby 构建。

为什么 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(也将通过他们的新供电天衣lib中,在他们宣布_npm路线图夏季2019_修复这些问题(或切换到博客文章) yarn用于基于 _Gatsby_ 的项目)。

谢谢 Pieh 是的,试过了,恐怕不行。

我实际上只是通过运行npm install --save core-js解决这个问题

多亏了它,它才能工作!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

jimfilippou picture jimfilippou  ·  3评论

mikestopcontinues picture mikestopcontinues  ·  3评论

magicly picture magicly  ·  3评论

Oppenheimer1 picture Oppenheimer1  ·  3评论

rossPatton picture rossPatton  ·  3评论