Search code examples
node.jswebpackvue.jsvue-cliprettier

Running into "couldn't infer parser" error using vue-cli


I'm getting an error repeatedly when trying to build a new webpack project using vue-cli. I'm following along with the docs on the latest build (3.0.0-beta.11), also tried with an earlier version, which wasn't beta.

When I run yarn serve it attempts to start the dev server and build the project but fails here:

error  in ./src/App.vue?vue&type=template&id=7ba5bd90

Module build failed: Error: No parser and no file path given, couldn't infer a parser.
    at normalize (/Users/cory/Code/chickadee/my-project/node_modules/prettier/index.js:7051:13)
    at formatWithCursor (/Users/cory/Code/chickadee/my-project/node_modules/prettier/index.js:10370:12)
    at /Users/cory/Code/chickadee/my-project/node_modules/prettier/index.js:31115:15
    at Object.format (/Users/cory/Code/chickadee/my-project/node_modules/prettier/index.js:31134:12)
    at actuallyCompile (/Users/cory/Code/chickadee/my-project/node_modules/@vue/component-compiler-utils/dist/compileTemplate.js:93:29)
    at compileTemplate (/Users/cory/Code/chickadee/my-project/node_modules/@vue/component-compiler-utils/dist/compileTemplate.js:26:16)
    at Object.module.exports (/Users/cory/Code/chickadee/my-project/node_modules/vue-loader/lib/loaders/templateLoader.js:42:20)

 @ ./src/App.vue?vue&type=template&id=7ba5bd90 1:0-194 1:0-194
 @ ./src/App.vue
 @ ./src/main.js
 @ multi (webpack)-dev-server/client/index.js (webpack)/hot/dev-server.js ./src/main.js

About my setup

  • Mac OS
  • I'm running node v8.5.0
  • packages are installed with yarn

The Things I've Attempted

  • Different versions of vue-cli to generate a new project. The projects generate and install modules.
  • Tried removing the prettier module, but the error still seems to come up.
  • Tried reinstalling all modules.

What else might I try to get past this error?


Solution

  • Removing the current node_modules folder from the project, adding "prettier": "^1.12.1" to package.json and running npm install solved the issue.

    Another option is to run npm install prettier@1.12.1 without removeing the node_modules folder before

    Update:

    For some users, verion 1.12.1 did not work

    @Kivin proposed another solution that can be found here: vue webpack template missing parser