JsPrettier Sublime 错误‘无法解析解析器“babel”’

JsPrettier Sublime 错误‘无法解析解析器“babel”’

当我尝试使用 JsPrettier 来处理我的 js 和 jsx 代码时出现以下错误。

Prettier 报告了以下错误:

[警告] 忽略未知选项--html-whitespace-sensitivity=css。[错误] 错误:无法解析解析器“babel”

我现在已经重新安装了这两个插件,但仍然出现相同的错误。目前正在使用 create-react-app 进行项目开发。

JsPrettier 版本 1.24.0 Sublime 版本 3.1.1

这些是我的 Babel 设置:

  "debug": false,
  "use_local_babel": true,
  "node_modules": {
    "windows": "C:/Program Files/nodejs/node_modules",
    "linux": "/usr/lib/node_modules",
    "osx": "/usr/local/lib/node_modules"
  },
  "options": {}
}

有没有办法将 JsPrettier 指向 Babel?我不确定 Sublime、Babel 和 Prettier 究竟是如何交互的。我猜这只是告诉 JsPrettier babel 解析器在哪里的问题?

提前致谢!

答案1

注意:如果你想在项目中使用本地安装的 prettier,请省略-g所有命令

首先,更新 Prettier 的全局版本: npm update -g prettier

npm list -g prettier现在给我[email protected]

现在更新您的 JsPrettier 用户设置(Sublime Text > Preferences > Package Settings > JsPrettier > Settings - User)并设置"prettier_cli_path"为指向您的全局 bin

// JsPrettier.sublime-settings
{
...
  "prettier_cli_path": "/Users/abby/.nvm/versions/node/v10.14.1/bin/prettier",
...
}

(通过运行检查正确的路径npm root -g并将其更新到更漂亮的 bin)

答案2

仅供参考:在稍微不同的设置中出现类似的错误。

------------------
JsPrettier ERROR 
------------------

Prettier reported the following error(s):

[error] Error: Couldn't resolve parser "babel"

Process finished with exit code 1

我也在我们的项目中本地安装了 Prettier 包,如 package.json 文件中所指定。

我发现它的版本太旧了。所以我更新了它,然后错误就消失了。

$ yarn remove prettier
$ yarn add prettier -D

相关内容