Gatsby: Die Erstellung schlägt nach dem Upgrade auf 2.0.84 mit "Unerwartetes Token" in "async-require" fehl

Erstellt am 21. Jan. 2019  ·  81Kommentare  ·  Quelle: gatsbyjs/gatsby

Beschreibung

Das Ausführen von rm -rf .cache && rm -rf public && gatsby-build funktioniert unter 2.0.83 einwandfrei. Nach dem Upgrade auf 2.0.84 wird ein Fehler ausgegeben, der den Build abbricht.

Schritte zum Reproduzieren

Das einzige, was ich nehme, ist gatsby build . Nach dem Downgrade auf 2.0.83 verschwindet das Problem.

Erwartetes Ergebnis

Der Build sollte erfolgreich abgeschlossen werden

Tatsächliche Ergebnis

Der Build wird mit folgendem Fehler beendet:

success onPostBootstrap — 0.202 s

info bootstrap finished - 6.171 s


error Generating JavaScript bundles failed


  Error: ./.cache/async-requires.js 8:11
  Module parse failed: Unexpected token (8:11)
  You may need an appropriate loader to handle this file type.
  | exports.components = {
  |   "component---node-modules-gatsby-plugin-offline-app-shell-js": function componentNodeModulesGatsbyPluginOfflineAppShellJs() {
  >     return import("/Users/dereklindahl/Work/APP/node_modules/gatsby-plugin-offline/app-shell.js"
  |     /* webpackChunkName: "component---node-modules-gatsby-plugin-offline-app-shell-js" */
  |     );
   @ ./.cache/production-app.js 18:0-45 21:23-36 26:23-36

Umgebung

npx gatsby info -- --clipboard                 

  System:
    OS: macOS High Sierra 10.13.6
    CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    Shell: 5.4.2 - /usr/local/bin/zsh
  Binaries:
    Node: 10.14.0 - ~/.nodenv/versions/10.14.0/bin/node
    Yarn: 1.12.3 - /usr/local/bin/yarn
    npm: 6.4.1 - ~/.nodenv/versions/10.14.0/bin/npm
  Languages:
    Python: 2.7.10 - /usr/bin/python
  Browsers:
    Chrome: 71.0.3578.98
    Firefox: 63.0.3
    Safari: 12.0.2
  npmPackages:
    gatsby: 2.0.84 => 2.0.84 
    gatsby-image: ^2.0.25 => 2.0.25 
    gatsby-mdx: ^0.2.0 => 0.2.0 
    gatsby-plugin-canonical-urls: ^2.0.8 => 2.0.8 
    gatsby-plugin-google-analytics: ^2.0.8 => 2.0.8 
    gatsby-plugin-manifest: ^2.0.13 => 2.0.13 
    gatsby-plugin-netlify: ^2.0.6 => 2.0.6 
    gatsby-plugin-netlify-cache: ^1.0.0 => 1.0.0 
    gatsby-plugin-offline: ^2.0.21 => 2.0.21 
    gatsby-plugin-react-helmet: ^3.0.5 => 3.0.5 
    gatsby-plugin-sharp: ^2.0.17 => 2.0.17 
    gatsby-plugin-sitemap: ^2.0.4 => 2.0.4 
    gatsby-plugin-sri: ^1.0.4 => 1.0.4 
    gatsby-plugin-styled-components: ^3.0.4 => 3.0.4 
    gatsby-plugin-zopfli: ^1.0.2 => 1.0.2 
    gatsby-source-filesystem: ^2.0.12 => 2.0.12 
    gatsby-transformer-sharp: ^2.1.10 => 2.1.10 

Ich habe # 10038 gesehen, was mir bekannt vorkam, aber meine Webpack-Konfiguration ist uninteressant:

// gatsby-node.js
exports.onCreateWebpackConfig = ({ actions }) => {
  actions.setWebpackConfig({
    module: {
      rules: [
        {
          test: /\.ogv$/,
          use: [
            {
              loader: require.resolve(`url-loader`),
              options: { limit: 10000, name: 'static/[name]-[hash].[ext]' }
            }
          ]
        }
      ]
    },
    resolve: {
      alias: {
        '@': path.resolve(__dirname, 'src/components')
      },
      modules: [path.resolve(__dirname, 'src'), 'node_modules']
    }
  })
}

Das Kommentieren dieses Blockierens behebt den Fehler nicht.

Wenn ich gatsby-plugin-offline durch gatsby-plugin-remove-serviceworker ersetze, bleibt das Problem bestehen, jedoch mit einem anderen asynchronen Import.

FWIW, ich bemerke keinen Unterschied im Inhalt von async-require.js in den Builds 2.0.83 oder 2.0.84, und das Upgrade von gatsby-plugin-offline machte ebenfalls keinen Unterschied.

needs reproduction question or discussion

Hilfreichster Kommentar

Eine Problemumgehung besteht darin, die Abhängigkeiten mit Yarn anstelle von npm zu installieren, was nach dem Importieren der npm-Sperrdatei zu funktionieren scheint.

Alle 81 Kommentare

Nach dem Upgrade von 2.0.62 auf 2.0.91 ein ähnlicher Fehler

In meinem Fall funktioniert gatsby develop einwandfrei, aber gatsby build Fehler treten entweder auf der Seite template.js (wenn ich sie einbeziehe) oder auf der Seite 404.js (wenn ich die entferne) auf createPages Snippet von gatsby-node ):

error Generating JavaScript bundles failed

Error: ./.cache/async-requires.js 8:11
  Module parse failed: Unexpected token (8:11)
  You may need an appropriate loader to handle this file type.
  | exports.components = {
  |   "component---src-templates-template-js": function componentSrcTemplatesTemplateJs() {
  >     return import("/Users/michael/Sites/projects/gatsby-starter/src/templates/template.js"
  |     /* webpackChunkName: "component---src-templates-template-js" */  |     );
   @ ./.cache/production-app.js 18:0-45 21:23-36 26:23-36

oder

error Generating JavaScript bundles failed

Error: ./.cache/async-requires.js 8:11
  Module parse failed: Unexpected token (8:11)
  You may need an appropriate loader to handle this file type.
  | exports.components = {
  |   "component---src-pages-404-js": function componentSrcPages404Js()   {
  >     return import("/Users/michael/Sites/projects/gatsby-starter/src/pages/404.js"
  |     /* webpackChunkName: "component---src-pages-404-js" */
  |     );
   @ ./.cache/production-app.js 18:0-45 21:23-36 26:23-36

Vor dem Upgrade von gatsby alles gut funktioniert. 🤷‍♂️

@dlindahl @ooloth

Können Sie bitte auf minimale Reproduktionen davon verlinken?

Ich erhalte den gleichen Fehler mit Gatsby v 2.0.55, bei dem package-lock.json in .npmrc deaktiviert ist. Die Site wird täglich von einem sauberen Arbeitsbereich aus erstellt. An einem Tag hat es funktioniert, am nächsten nicht. Ich vermute, der Fehler hängt mit einer vorübergehenden Abhängigkeit zusammen, die sich geändert hat.

Das gleiche Problem beim Upgrade von gatsby von v2.0.91 auf v2.0.93 ( v2.0.92 ) gibt es nicht

Hallo, ich stimme zu, dass ich derzeit auch dieses Problem habe, aber Schwierigkeiten habe, eine minimale Reproduktion dafür zu erstellen.

Das Ausführen von npm update in meinem Repository führt zwar zum Fehlschlagen des Builds, jedoch nicht für meine persönliche Website .

Ich werde so lange herumgraben, bis ich herausfinden kann, was es verursacht, oder jemand anderes es herausfindet. Wenn ich es sauber isoliert bekommen kann, werde ich hier zurück posten.

Vielen Dank!

Hier gilt das gleiche!
Ich habe npm update -g npm eingegeben, um die npm 6.7.0-Version zu erhalten, und ich habe gatsby 2.0.98.

Gatsby Plugin Offline-Version -> 2.0.21

Repository mit diesem Problem: los geht's .

Können Sie auch die installierten Abhängigkeiten mit npm ls und node --version ausführen?

Auch hier kann eine Halbierung hilfreich sein. Ich werde das Repo in ein paar Minuten testen.

Ok gleicher Fehler hier. Ich werde das halbieren.

Es scheint, dass es in allen Versionen passiert, also ist es wahrscheinlich ein Plugin oder eine andere Abhängigkeit.
Wird weiter testen.

Ich glaube, ich habe die Ursache gefunden. Ich werde einen Patch und PR zur Verfügung stellen.

@omrllm (ein Patch für Gatsby 2.0.60)

patch-package
--- a/node_modules/gatsby/dist/internal-plugins/query-runner/pages-writer.js
+++ b/node_modules/gatsby/dist/internal-plugins/query-runner/pages-writer.js
@@ -86,9 +86,9 @@ const preferDefault = m => m && m.default || m
     let asyncRequires = `// prefer default export if available
 const preferDefault = m => m && m.default || m
 \n`;
-    asyncRequires += `exports.components = {\n${components.map(c => `  "${c.componentChunkName}": () => import("${(0, _path.joinPath)(c.component)}" /* webpackChunkName: "${c.componentChunkName}" */)`).join(`,\n`)}
+    asyncRequires += `exports.components = {\n${components.map(c => `  "${c.componentChunkName}": () => require("${(0, _path.joinPath)(c.component)}" /* webpackChunkName: "${c.componentChunkName}" */)`).join(`,\n`)}
 }\n\n`;
-    asyncRequires += `exports.data = () => import("${(0, _path.joinPath)(program.directory, `.cache`, `data.json`)}")\n\n`;
+    asyncRequires += `exports.data = () => require("${(0, _path.joinPath)(program.directory, `.cache`, `data.json`)}")\n\n`;

     const writeAndMove = (file, data) => {
       const destination = (0, _path.joinPath)(program.directory, `.cache`, file);

Durch Ändern von import in require sollte es funktionieren. Es fehlt wahrscheinlich nur ein Loader, aber warum sollte man hier sowieso import , wenn der ESM-Weg nur Probleme verursacht und das Mischen von exports mit import nie eine gute Idee ist?

+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
added 9 packages from 3 contributors, removed 4 packages, updated 92 packages and audited 43569 packages in 200.269s
diff 23.cache/ .cache/
Only in 23.cache/: .sonarlint
Common subdirectories: 23.cache/__tests__ and .cache/__tests__
Common subdirectories: 23.cache/caches and .cache/caches
Common subdirectories: 23.cache/commonjs and .cache/commonjs
diff 23.cache/data.json .cache/data.json
1c1
< {"pages":[{"componentChunkName":"component---src-pages-index-js","jsonName":"index","path":"/"},{"componentChunkName":"component---src-pages-404-js","jsonName":"404-html-516","path":"/404.html"},{"componentChunkName":"component---src-pages-404-js","jsonName":"404-22d","path":"/404/"},{"componentChunkName":"component---src-pages-about-js","jsonName":"about-f34","path":"/about/"},{"componentChunkName":"component---src-pages-contact-js","jsonName":"contact-26a","path":"/contact/"}],"dataPaths":{"404-22d":"657/path---404-22-d-bce-yc2HAWbdDECy3NCKIhFOCg1lY8","404-html-516":"84/path---404-html-516-62a-yc2HAWbdDECy3NCKIhFOCg1lY8","about-f34":"691/path---about-f-34-4c2-WV9OHhcgC975Z2f0az9WK5Dpl0Y","contact-26a":"662/path---contact-26-a-cd9-SNoLKPyPsqQ59X6yAuuT79ALOJc","index":"612/path---index-6a9-j0JKW3rrllGOOtWKwyNn0ujHMk"}}
\ No newline at end of file
---
> {"pages":[{"componentChunkName":"component---src-pages-index-js","jsonName":"index","path":"/"},{"componentChunkName":"component---src-pages-404-js","jsonName":"404-html-516","path":"/404.html"},{"componentChunkName":"component---src-pages-404-js","jsonName":"404-22d","path":"/404/"},{"componentChunkName":"component---src-pages-about-js","jsonName":"about-f34","path":"/about/"},{"componentChunkName":"component---src-pages-contact-js","jsonName":"contact-26a","path":"/contact/"}],"dataPaths":{"404-22d":"657/path---404-22-d-bce-yc2HAWbdDECy3NCKIhFOCg1lY8","404-html-516":"84/path---404-html-516-62a-yc2HAWbdDECy3NCKIhFOCg1lY8","about-f34":"691/path---about-f-34-4c2-WV9OHhcgC975Z2f0az9WK5Dpl0Y","contact-26a":"662/path---contact-26-a-cd9-SNoLKPyPsqQ59X6yAuuT79ALOJc","index":"770/path---index-6a9-dVi4vZoL0B52PVt3C79b9kQk"}}
\ No newline at end of file
diff 23.cache/default-html.js .cache/default-html.js
4,31c4,29
< export default class HTML extends React.Component {
<   render() {
<     return (
<       <html {...this.props.htmlAttributes}>
<         <head>
<           <meta charSet="utf-8" />
<           <meta httpEquiv="x-ua-compatible" content="ie=edge" />
<           <meta
<             name="viewport"
<             content="width=device-width, initial-scale=1, shrink-to-fit=no"
<           />
<           {this.props.headComponents}
<         </head>
<         <body {...this.props.bodyAttributes}>
<           {this.props.preBodyComponents}
<           <noscript key="noscript" id="gatsby-noscript">
<             This app works best with JavaScript enabled.
<           </noscript>
<           <div
<             key={`body`}
<             id="___gatsby"
<             dangerouslySetInnerHTML={{ __html: this.props.body }}
<           />
<           {this.props.postBodyComponents}
<         </body>
<       </html>
<     )
<   }
---
> export default function HTML(props) {
>   return (
>     <html {...props.htmlAttributes}>
>       <head>
>         <meta charSet="utf-8" />
>         <meta httpEquiv="x-ua-compatible" content="ie=edge" />
>         <meta
>           name="viewport"
>           content="width=device-width, initial-scale=1, shrink-to-fit=no"
>         />
>         {props.headComponents}
>       </head>
>       <body {...props.bodyAttributes}>
>         {props.preBodyComponents}
>         <noscript key="noscript" id="gatsby-noscript">
>           This app works best with JavaScript enabled.
>         </noscript>
>         <div
>           key={`body`}
>           id="___gatsby"
>           dangerouslySetInnerHTML={{ __html: props.body }}
>         />
>         {props.postBodyComponents}
>       </body>
>     </html>
>   )
Common subdirectories: 23.cache/fragments and .cache/fragments
Common subdirectories: 23.cache/json and .cache/json
diff 23.cache/navigation.js .cache/navigation.js
37c37
< const onPreRouteUpdate = location => {
---
> const onPreRouteUpdate = (location, prevLocation) => {
39c39
<     apiRunner(`onPreRouteUpdate`, { location })
---
>     apiRunner(`onPreRouteUpdate`, { location, prevLocation })
43c43
< const onRouteUpdate = location => {
---
> const onRouteUpdate = (location, prevLocation) => {
45c45
<     apiRunner(`onRouteUpdate`, { location })
---
>     apiRunner(`onRouteUpdate`, { location, prevLocation })
136c136
<     onPreRouteUpdate(props.location)
---
>     onPreRouteUpdate(props.location, null)
140c140
<     onRouteUpdate(this.props.location)
---
>     onRouteUpdate(this.props.location, null)
145c145
<       onRouteUpdate(this.props.location)
---
>       onRouteUpdate(this.props.location, prevProps.location)
151c151
<       onPreRouteUpdate(this.props.location)
---
>       onPreRouteUpdate(this.props.location, prevProps.location)
diff 23.cache/static-entry.js .cache/static-entry.js
55c55,59
<     <meta name="generator" content={`Gatsby ${gatsbyVersion}`} />,
---
>     <meta
>       name="generator"
>       content={`Gatsby ${gatsbyVersion}`}
>       key={`generator-${gatsbyVersion}`}
>     />,
354,360c358,366
<   const bodyScripts = scripts.filter(s => s.rel !== `prefetch`).map(s => {
<     const scriptPath = `${__PATH_PREFIX__}/${JSON.stringify(s.name).slice(
<       1,
<       -1
<     )}`
<     return <script key={scriptPath} src={scriptPath} async />
<   })
---
>   const bodyScripts = scripts
>     .filter(s => s.rel !== `prefetch`)
>     .map(s => {
>       const scriptPath = `${__PATH_PREFIX__}/${JSON.stringify(s.name).slice(
>         1,
>         -1
>       )}`
>       return <script key={scriptPath} src={scriptPath} async />
>     })

Diff nach dem Updater und einem neuen Build laufen @madelyneriksen

patch-package
--- a/node_modules/gatsby/dist/internal-plugins/query-runner/pages-writer.js
+++ b/node_modules/gatsby/dist/internal-plugins/query-runner/pages-writer.js
@@ -88,9 +88,9 @@ const preferDefault = m => m && m.default || m
     let asyncRequires = `// prefer default export if available
 const preferDefault = m => m && m.default || m
 \n`;
-    asyncRequires += `exports.components = {\n${components.map(c => `  "${c.componentChunkName}": () => import("${(0, _path.joinPath)(c.component)}" /* webpackChunkName: "${c.componentChunkName}" */)`).join(`,\n`)}
+    asyncRequires += `exports.components = {\n${components.map(c => `  "${c.componentChunkName}": () => require("${(0, _path.joinPath)(c.component)}" /* webpackChunkName: "${c.componentChunkName}" */)`).join(`,\n`)}
 }\n\n`;
-    asyncRequires += `exports.data = () => import(/* webpackChunkName: "pages-manifest" */ "${(0, _path.joinPath)(program.directory, `.cache`, `data.json`)}")\n\n`;
+    asyncRequires += `exports.data = () => require(/* webpackChunkName: "pages-manifest" */ "${(0, _path.joinPath)(program.directory, `.cache`, `data.json`)}")\n\n`;

     const writeAndMove = (file, data) => {
       const destination = (0, _path.joinPath)(program.directory, `.cache`, file);

Dies sollte für .98 funktionieren

Vielleicht bin ich auf dem falschen Weg, die Änderung führt zu fehlgeschlagenen Tests https://github.com/gatsbyjs/gatsby/pull/11331

Ich weiß noch nicht warum.

Also funktioniert es immer noch nicht, oder?

Das Build-Skript ist mit meiner vorgeschlagenen Änderung erfolgreich. Ich bin mir aber nicht sicher, ob dies die richtige Lösung ist. Also bitte testen und überprüfen.

Hm, oder liegt es an der neuen Voreinstellung?
https://github.com/gatsbyjs/gatsby/commit/69faca0bff0e2c04e6b3be50bba087284c3dbf6b#diff -a30bb413b08d8091d9187909b256c943

Ist das Plugins-Array korrekt?

Tritt das Problem auch in einem neuen Gatsby-Projekt auf und kann es mit den CI-Tests reproduziert werden?

Ich npm update und das Problem ging weg

Bitte geben Sie eine Liste der installierten Abhängigkeiten an (vor und nach dem Update).

@ DanielRuf , ich kann es nicht reproduzieren Ich denke, es war ein Zufall, ich

Eine Problemumgehung besteht darin, die Abhängigkeiten mit Yarn anstelle von npm zu installieren, was nach dem Importieren der npm-Sperrdatei zu funktionieren scheint.

Sie finden meine npm ls mit gatsby v2.0.91 (Build erfolgreich) und v2.0.93 (Build fehlgeschlagen) hier: https://gist.github.com/cyrildurand/f4b70abff19288117ea3996500532774

Ich habe immer noch das Problem mit Gatsby 2.0.103

Haben Sie versucht, die Abhängigkeiten auch mit yarn zu installieren?

@cyrildurand
Ist dieser Fehler bei der Installation von npm aufgetreten?
2019-01-29 4 50 27
Ich hatte auch das gleiche Problem, aber das Upgrade der Version von arcon auf 6.0 hat gut funktioniert.

Ist dieser Fehler bei der Installation von npm aufgetreten?

Dies ist nur eine Warnung und bezieht sich nicht auf das Gatsby-Problem.

Gleicher Fehler nach der Installation von acorn

es funktioniert mit yarn . Ich habe das Wesentliche mit yarn list Ausgabe aktualisiert

Gleicher Fehler nach der Installation von Eichel

Welcher Fehler?

Ich habe versucht, acorn aktualisieren, was von @ seonim-ryu vorgeschlagen wurde, und habe versucht, gatsby build auszuführen, und hatte den gleichen Fehler "Unerwartetes Token" (der aus der ersten Nachricht dieser Ausgabe).

Wenn ich Garn verwende, verschwindet das Problem, der Befehl gatsby build ist erfolgreich.

Kommt es auch bei früheren Eichelversionen vor? Oder ist das nicht die Ursache?

Haben Sie mein vorgeschlagenes Update ausprobiert? Ich bin mir nicht sicher, ob dies irgendetwas kaputt machen würde.

Es ist auch mit der vorherigen Version von Eichel gescheitert, ich glaube nicht, dass es damit zusammenhängt.

Es funktioniert jetzt, da ich die Abhängigkeiten installiere und nicht sicher bin, wie ich Ihren vorgeschlagenen Fix anwenden soll.

Gehen Sie zu node_modules / gatsby / dist / internal-plugins / query-runner / pages-writer.js und ändern Sie die beiden import( in require( , siehe auch https://github.com/gatsbyjs / gatsby / issue / 11198 # issuecomment -457915157

Es funktioniert mit dem Fix

Ist etwas wegen des Fixes kaputt? Die fehlgeschlagenen CI-Builds sehen nicht gut aus.

Möglicherweise ein separates Problem, aber nach dem Upgrade auf das neueste Gatsby (2.0.106) und dem Hinzufügen einer 404-Seite gemäß den Dokumenten ('src / pages / 404.js') ist ein ähnlicher Fehler aufgetreten. Die Entwicklung würde gut laufen, aber die Erstellung schlug fehl.

Das Verschieben der 404-Seite in einen eigenen Ordner ('src / pages / 404 / index.js') hat den Fehler auf meiner Seite behoben und funktioniert wie erwartet (lokal und bei der Bereitstellung in Netlify).

Ich habe das Problem behoben, indem ich meine package-lock.json -Datei gelöscht und npm install . Die neu generierte package-lock.json -Datei hatte viele Unterschiede.
Ich weiß nicht genau, was hier passiert.

Ich habe auf einigen verschiedenen Websites dieselben Probleme. Einige mit genau den gleichen Abhängigkeiten und Versionen ... man wird die Fehler treffen, man wird nicht. Ich glaube, es begann um 2.0.98 Uhr und immer noch mit 2.0.106 Uhr. Ich habe versucht, die Ordner node_modules, .cache und public zu entfernen, aber das hat auch nicht geholfen. Passiert nur beim Bauen, nicht beim Entwickeln.

@cyrildurand
Ich habe package-lock.json in etwas anderes umbenannt und npm install alles bearbeitet, aber ich habe wieder:

error Generating JavaScript bundles failed


  Error: ./.cache/async-requires.js 8:11
  Module parse failed: Unexpected token (8:11)
  You may need an appropriate loader to handle this file type.
  | exports.components = {
  |   "component---node-modules-gatsby-plugin-offline-app-shell-js": function componentNodeModulesGatsbyPluginOfflineAppShellJs() {
  >     return import("/home/foldername/abcrypto/node_modules/gatsby-plugin-offline/app-shell.js"
  |     /* webpackChunkName: "component---node-modules-gatsby-plugin-offline-app-shell-js" */
  |     );
   @ ./.cache/production-app.js 18:0-45 21:23-36 26:23-36

Haben Sie Ihren Ordner node_modules bereinigt?

Wie machst du das? :(

npm prune node_modules ?

Oder lösche ich alles manuell im Ordner node_modules?

Bearbeiten: Ich habe den Ordner node_modules umbenannt und jetzt funktioniert es: +1:

  • Benennen Sie package-lock.json in etwas anderes um
  • Benennen Sie den Ordner node_modules in etwas anderes um
  • npm install im Hauptordner

Danke @cyrildurand
Nach dem @ DanielRuf- Vorschlag

Benennen Sie es einfach um, um ein Backup zu haben.

Es ist also wirklich nur ein Problem mit einer veralteten Abhängigkeit?

Ich habe Knotenmodule mehrmals gelöscht und es wurde für mich nie behoben. Nur was funktioniert hat, ist Garn oder die Patch-Datei oben.

@krazik und hast du package-lock.json gelöscht / umbenannt?

Ja

Nur um sicherzugehen, dass ich es erneut versucht habe und beide lösche, kann ich den obigen Fehler überwinden, aber jetzt darauf stoßen

Fehler: Das Modul 'core-js / modules / es6.regexp.to-string' kann nicht gefunden werden.
Fehler: Das Modul 'core-js / modules / es6.regexp.to-string' kann nicht gefunden werden.

für bauen und entwickeln.

error Cannot find module 'core-js/modules/es6.regexp.to-string'


  Error: Cannot find module 'core-js/modules/es6.regexp.to-string'

  - loader.js:611 Function.Module._resolveFilename
    internal/modules/cjs/loader.js:611:15

  - loader.js:537 Function.Module._load
    internal/modules/cjs/loader.js:537:25

  - loader.js:665 Module.require
    internal/modules/cjs/loader.js:665:17

  - helpers.js:20 require
    internal/modules/cjs/helpers.js:20:18

  - render-page.js:3 webpackUniversalModuleDefinition
    /Users/rylanhazelton/dev/Admin/public/render-page.js:3:170

  - render-page.js:10 Object.<anonymous>
    /Users/rylanhazelton/dev/Admin/public/render-page.js:10:3

  - loader.js:736 Module._compile
    internal/modules/cjs/loader.js:736:30

  - loader.js:747 Object.Module._extensions..js
    internal/modules/cjs/loader.js:747:10

  - loader.js:628 Module.load
    internal/modules/cjs/loader.js:628:32

  - loader.js:568 tryModuleLoad
    internal/modules/cjs/loader.js:568:12

  - loader.js:560 Function.Module._load
    internal/modules/cjs/loader.js:560:3

  - loader.js:665 Module.require
    internal/modules/cjs/loader.js:665:17

  - helpers.js:20 require
    internal/modules/cjs/helpers.js:20:18

  - worker.js:32 Promise
    [Admin]/[gatsby]/dist/utils/worker.js:32:35

  - debuggability.js:313 Promise._execute
    [Admin]/[bluebird]/js/release/debuggability.js:313:9

  - promise.js:483 Promise._resolveFromExecutor
    [Admin]/[bluebird]/js/release/promise.js:483:18


error UNHANDLED REJECTION


  Error: Cannot find module 'core-js/modules/es6.regexp.to-string'

  - loader.js:611 Function.Module._resolveFilename
    internal/modules/cjs/loader.js:611:15

  - loader.js:537 Function.Module._load
    internal/modules/cjs/loader.js:537:25

  - loader.js:665 Module.require
    internal/modules/cjs/loader.js:665:17

  - helpers.js:20 require
    internal/modules/cjs/helpers.js:20:18

  - render-page.js:3 webpackUniversalModuleDefinition
    /Users/rylanhazelton/dev/Admin/public/render-page.js:3:170

  - render-page.js:10 Object.<anonymous>
    /Users/rylanhazelton/dev/Admin/public/render-page.js:10:3

  - loader.js:736 Module._compile
    internal/modules/cjs/loader.js:736:30

  - loader.js:747 Object.Module._extensions..js
    internal/modules/cjs/loader.js:747:10

  - loader.js:628 Module.load
    internal/modules/cjs/loader.js:628:32

  - loader.js:568 tryModuleLoad
    internal/modules/cjs/loader.js:568:12

  - loader.js:560 Function.Module._load
    internal/modules/cjs/loader.js:560:3

  - loader.js:665 Module.require
    internal/modules/cjs/loader.js:665:17

  - helpers.js:20 require
    internal/modules/cjs/helpers.js:20:18

  - worker.js:32 Promise
    [Admin]/[gatsby]/dist/utils/worker.js:32:35

  - debuggability.js:313 Promise._execute
    [Admin]/[bluebird]/js/release/debuggability.js:313:9

  - promise.js:483 Promise._resolveFromExecutor
    [Admin]/[bluebird]/js/release/promise.js:483:18

Schließen Sie Ihren Editor, löschen Sie .cache, public, node_modules und package-lock.json. Führen Sie dann eine npm-Installation durch.

Ich bin mir ziemlich sicher, dass es sich nur um eine funky Paketauflösung von NPM handelt.

Ich habe es geschafft, die Abhängigkeiten auf meinen Websites zu sortieren, indem ich die Sperrdatei und node_modules gelöscht habe. Ich konnte es nicht außerhalb von defekten Websites reproduzieren.

Nachdem ich meine package-lock.json , node_modules gelöscht und mit yarn installiert hatte, hatte ich einen weiteren Fehler bezüglich terser-webpack-plugin cannot call minify of undefined (so ähnlich). Das hat es für mich behoben.

Ich denke, das Node.js-Ökosystem ist wirklich das am schnellsten brechende ;-)

Das neueste Terser-Update (vor einer Stunde veröffentlicht) bricht dieses Plugin.

Dies ist also ein neues Problem (in Abhängigkeit).

Ich kann bestätigen, dass es sich um zwei verschiedene Probleme handelt. Ich stoße auf beide: https://github.com/gr2m/octokit-rest-documentation/issues/24

Der Terser-Fehler kommt von diesen Zeilen

  const {
    error,
    map,
    code,
    warnings
  } = _terser.default.minify({
    [file]: input
  }, terserOptions);

Es funktioniert, wenn Sie _terser.default.minify durch nur _terser.minify ersetzen

Dieses Problem tritt auch in meinen Travis CI-Builds auf. Selbst die Verwendung von yarn behebt das Problem nicht. Gibt es einen schnellen Patch, den ich verwenden könnte, bis die richtige Lösung gefunden ist? Vielen Dank

Der Terser-Fehler sollte jetzt behoben sein

Das Terser-Webpack-Plugin wurde behoben und wir haben 2.0.112 mit der neuen Version des Terser-Webpack-Plugins veröffentlicht

Ich bin nicht sicher, ob dies zusammenhängt, aber können Sie bitte versuchen, es zu aktualisieren?

In der Zwischenzeit, @DanielRuf @dlindahl, können Sie bitte auf eine minimale Reproduktion des Problems verweisen, das Sie sehen?

@sidharthachatterjee Ich kann bestätigen, dass ein Upgrade auf bestimmte [email protected] mein Problem auf Gitlab CI gelöst hat.

Der Terser-Fehler sollte jetzt behoben sein

Bestätigt.

Lassen Sie uns das schließen. Bitte kommentieren Sie, ob wir weiter helfen können oder ob dies nicht bestätigt ist, um behoben zu werden.

Vielen Dank an alle!

Der ursprüngliche Fehler, für den dieses Problem geöffnet wurde, bleibt bestehen:

Error: ./.cache/async-requires.js 8:11
Module parse failed: Unexpected token (8:11)

@ gr2m könntest du eine reproduktion liefern?

Auf jeden Fall - ich werde wieder öffnen, danke!

Ich hatte genau das gleiche Problem.
Modulanalyse fehlgeschlagen: Unerwartetes Token (8:11)
Möglicherweise benötigen Sie einen geeigneten Loader, um diesen Dateityp zu verarbeiten

Der Garnfix hat bei mir funktioniert.

Das Löschen von .cache / public / node_modules hat nicht funktioniert.

Das Problem begann für mich nach dem Ausführen des npm-Updates.

Gleiches Problem hier.

    "@magicsoup.io/stock": "0.0.11",
    "@zauberware/react-scroll-to": "^0.1.1",
    "@zauberware/react-svg-assets": "^0.10.2",
    "babel-plugin-styled-components": "^1.10.0",
    "gatsby": "^2.0.115",
    "gatsby-image": "^2.0.29",
    "gatsby-plugin-htaccess": "^1.0.8",
    "gatsby-plugin-manifest": "^2.0.17",
    "gatsby-plugin-offline": "^2.0.22",
    "gatsby-plugin-react-helmet": "^3.0.6",
    "gatsby-plugin-sharp": "^2.0.20",
    "gatsby-plugin-sitemap": "^2.0.5",
    "gatsby-plugin-styled-components": "^3.0.5",
    "gatsby-plugin-web-font-loader": "^1.0.4",
    "gatsby-source-filesystem": "^2.0.20",
    "gatsby-transformer-json": "^2.1.8",
    "gatsby-transformer-remark": "^2.2.4",
    "gatsby-transformer-sharp": "^2.1.13",
    "marksy": "^6.1.0",
    "prop-types": "^15.6.2",
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-helmet": "^5.2.0",
    "react-i18next": "^10.0.0",
    "react-obfuscate": "^3.0.0",
    "react-slick": "^0.23.2",
    "styled-components": "^4.1.3",
    "styled-normalize": "^8.0.6",
    "styled-system": "^3.2.1",

Versucht, eine Vorlage aus src / templates zu laden

Error: ./.cache/async-requires.js 8:11
  Module parse failed: Unexpected token (8:11)
  You may need an appropriate loader to handle this file type.
  | exports.components = {
  |   "component---src-templates-markdown-template-js": function componentSrcTemplatesMarkdownTemplateJs() {
  >     return import("/Users/simon/workspaces/web/altstadtdomizil/src/templates/markdownTemplate.js"
  |     /* webpackChunkName: "component---src-templates-markdown-template-js" */
  |     );
   @ ./.cache/production-app.js 18:0-45 21:23-36 26:23-36

gatsby-node.js

exports.createPages = ({ actions, graphql }) => {
  const { createPage } = actions

  const blogPostTemplate = path.resolve(`src/templates/markdownTemplate.js`)

  return graphql(`
    {
      allMarkdownRemark(
        sort: { order: DESC, fields: [frontmatter___title] }
        limit: 1000
      ) {
        edges {
          node {
            frontmatter {
              path
            }
          }
        }
      }
    }
  `).then(result => {
    if (result.errors) {
      return Promise.reject(result.errors)
    }

    result.data.allMarkdownRemark.edges.forEach(({ node }) => {
      createPage({
        path: node.frontmatter.path,
        component: blogPostTemplate,
        context: {}, // additional data can be passed via context
      })
    })
  })
}

Wenn ich die Datei gatsby-node.js auskommentiere, wird folgende Fehlermeldung angezeigt:

  Error: ./.cache/async-requires.js 8:11
  Module parse failed: Unexpected token (8:11)
  You may need an appropriate loader to handle this file type.
  | exports.components = {
  |   "component---src-pages-404-js": function componentSrcPages404Js() {
  >     return import("/Users/simon/workspaces/web/altstadtdomizil/src/pages/404.js"
  |     /* webpackChunkName: "component---src-pages-404-js" */
  |     );
   @ ./.cache/production-app.js 18:0-45 21:23-36 26:23-36

Rückgabeimport (

Bitte beachten Sie die anderen Kommentare.

Dies wird in den Abzeichen / Schildern Nr. 2947 angezeigt, während ein Upgrade von 2.0.115 auf 2.0.116 oder 2.0.117 durchgeführt wird.

Ich habe kürzlich Badges / Shields # 2949 zusammengeführt, wodurch babel-preset-gatsby von 0.1.6 auf 0.1.7 aktualisiert wurde, obwohl ich versucht habe, in einem Downgrade zu hacken, und das hat das Problem nicht behoben.

Das Problem wurde in CI erfasst und manifestiert sich dort konsequent. Unser CI behält .cache , so dass dies ausgeschlossen werden kann.

  Error: ./.cache/async-requires.js 8:11
  Module parse failed: Unexpected token (8:11)
  You may need an appropriate loader to handle this file type.
  | exports.components = {
  |   "component---frontend-components-main-js": function componentFrontendCompo  nentsMainJs() {
  >     return import("/home/circleci/project/frontend/components/main.js"
  |     /* webpackChunkName: "component---frontend-components-main-js" */
  |     );
   @ ./.cache/production-app.js 18:0-45 21:23-36 26:23-36

https://circleci.com/gh/badges/shields/39885

Ich denke, das könnte das Problem sein: Webpack / Webpack # 8656.

Hinzugefügt: Die Symptome stimmen überein und das Timing passt auch.

screen shot 2019-02-07 at 9 17 12 pm

screen shot 2019-02-07 at 9 17 19 pm

@ Paulmelnikow guter Fang. Aus diesem Grund empfehle ich die Verwendung von CJS, wenn wir kein ESM verwenden müssen - es ist in Bundlern immer noch nicht 100% zuverlässig. Und der andere Weg sollte noch funktionieren.

Das Anheften des Webpacks im Stammpaket.json sollte also funktionieren?

Und das ist auch der Grund, warum SemVer im JS-Ökosystem imho total kaputt ist. Die automatischen Aktualisierungen von (deep) hängen davon ab, dass die Sperrdateien nur auf der Stammebene funktionieren.

Um klar zu sein, sind acorn und die Art und Weise, wie npm den Deptree löst, das Problem und die Ursache.

https://github.com/webpack/webpack/issues/8656#issuecomment -456010969

Ich kann das reproduzieren (ein weiterer Grund, warum wir bei der Arbeit immer noch Garn verwenden).

Um genau zu sein, handelt es sich um ein npm-Problem.

https://npm.community/t/packages-with-peerdependencies-are-incorrectly-hoisted/4794/4

https://npm.community/t/release-npm-6-8-0-next-0/5058

Lösung: Installieren Sie die neueste npm-Version.

Ich bin mir nicht sicher, ob ich dieser Einschätzung zustimme. Dies kann sich in npm und nicht in Garn manifestieren, da die Auflösung unterschiedlich ist. 4.29.3 ist jedoch eine vollkommen korrekte Version, die installiert werden muss, wenn ein Paket eine Abhängigkeit von ^ 4.12.0 deklariert hat. Das bedeutet das Caret. Wenn Gatsby eine bestimmte Version sperren möchte, ist dies willkommen. In diesem Fall wird npm dies berücksichtigen.

Webpack ist eine Abhängigkeit von Gatsby, keine Peer-Abhängigkeit.

Das Problem war das Heben in npm (anders in Garn) und dass acorn diesem Grund nicht richtig geladen werden konnte. Siehe Tobias Community-Beitrag und den verlinkten Kommentar.

Ich habe das Gefühl, dass Sie das besser erklären müssen. Ich habe diese Threads überflogen, sehe aber nicht, wie sie hier zutreffen.

Ich weiß nicht, was den Fehler in Webpack verursacht. Wenn wir uns jedoch einig sind, dass Gatsby 4.29.3 nicht verwenden sollte, muss die Caret-Abhängigkeit geändert werden.

Es funktioniert mit Garn, es ist nur ein Problem mit npm, in Kombination mit bestimmten Abhängigkeiten und der Berechnung des Tiefbaums. Siehe die PR von Tobias.

Siehe https://github.com/npm/cli/pull/147/files

Aiiiee gotcha. Es ist dieser Peer-Abhängigkeitsfehler in npm, der dazu führt, dass Webpack 4.29 nicht richtig funktioniert.

Was wir verhindern können, ist die Installation von Webpack 4.29. Und ich bin mir nicht sicher, ob es eine einfache Möglichkeit gibt, dass ein Endbenutzer die Webpack-Version sperrt. npm bietet keine Möglichkeit, dies zu tun, daher müssten Benutzer so etwas wie das Drittanbieter-Tool npm-force-resolutions verwenden .

Siehe npm / cli # 152; es sieht nicht so aus, als könnten wir eine schnelle Lösung erwarten.

Nachdem 2.0.118 ein Pflaster ausgeliefert hat, sollten npm-Benutzer in Ordnung sein und können das Webpack 4.29.x offensichtlich nicht verwenden.

Habe ich Recht, dass Garnbenutzer resolutions , um Gatsby zu zwingen, eine spätere Version außerhalb des Bereichs zu verwenden, wenn sie möchten?

@paulmelnikow richtig - sollte aber eigentlich nicht nötig sein und ich bin mir nicht sicher, ob dies einen besonderen notwendigen Vorteil hat.

Wir werden die angeheftete Abhängigkeit aktualisieren, sobald wir dazu in der Lage sind (nach dem npm-Problem jetzt), daher sollte dies nur für Benutzer von npm ein Fehler sein.

Danke für die Fehlerbehebung!

_Now_ Ich denke ich kann das schließen :)

Bestätigt mit der Version 2.0.118 behoben!

Es war erstaunlich, dem zu folgen. Vielen Dank für die tolle Arbeit!

Hallo zusammen! Ich frage mich, ob ihr npm install gatsby@webpack-acorn drehen könntet. Wir möchten das Webpack auf die neueste Version aktualisieren, sind uns jedoch nicht sicher, ob dies immer noch ein Problem darstellt. Ich konnte es nicht reproduzieren, aber wir möchten lieber auf Nummer sicher gehen.

Hallo @wardpeet! Vielen Dank für Ihre Kontaktaufnahme.

Ich habe hier einen Zweig erstellt: Abzeichen / Schilde # 3572

Es sieht so aus, als wäre es immer noch ein Problem: https://circleci.com/gh/badges/shields/57401

Schritte zur lokalen Reproduktion wären, diesen Zweig zu klonen und npm ci auszuführen, gefolgt von npm run build . Wenn Sie möchten, können Sie dies gerne tun oder mich anpingen, und ich kann den PR-Zweig aktualisieren.

@ Paulmelnikow vielen Dank! Können Sie mir auch sagen, welche Node & npm-Version Sie verwenden, damit ich sie auch mit Ihrem Setup ausführen kann, falls sie für mich funktioniert?

Das habe ich vor Ort:

~/c/shields (bump-webpack-rc|✔) $ node --version
v10.13.0
~/c/shields (bump-webpack-rc|✔) $ npm --version
6.9.0

In CI geschieht dies auch in Knoten 8 (die genaue npm-Version ist nicht sicher).

Das Problem ist in beiden Umgebungen reproduzierbar.

Danke, dass du es dir angesehen hast!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

mikestopcontinues picture mikestopcontinues  ·  3Kommentare

kalinchernev picture kalinchernev  ·  3Kommentare

benstr picture benstr  ·  3Kommentare

jimfilippou picture jimfilippou  ·  3Kommentare

ferMartz picture ferMartz  ·  3Kommentare