使用pre-commit时Prettier无法识别插件的问题求助
问题:pre-commit环境下Prettier无法识别插件
问题背景
我使用Prettier搭配pre-commit在代码提交前做格式化,但遇到了Prettier无法定位插件的问题,怀疑是Prettier不识别NODE_PATH环境变量导致的。
初始配置
- id: prettier name: prettier entry: prettier language: node args: ['--write', '--ignore-unknown'] additional_dependencies: - prettier@3.3.2 - prettier-plugin-gherkin@2.3.0 - prettier-plugin-organize-imports
错误信息
prettier.................................................................Failed - hook id: prettier - duration: 0.15s - exit code: 1 [error] Cannot find package 'prettier-plugin-organize-imports' imported from /home/my-user/repositories/github.com/my-repo/my-project/noop.js
临时解决办法
我通过在entry命令中直接指定插件完整路径的方式解决了问题,但不确定这是否为最佳实践。修改后的.pre-commit-config.yaml配置如下:
- id: prettier name: prettier entry: bash -c 'prettier --plugin $NODE_PATH/prettier-plugin-organize-imports/index.js --plugin $NODE_PATH/prettier-plugin-gherkin/dist/index.js "$@"' _ verbose: true language: node pass_filenames: true args: ['--write', '--ignore-unknown'] additional_dependencies: - prettier@3.3.2 - prettier-plugin-gherkin@2.3.0 - prettier-plugin-organize-imports
求助
有没有人遇到过类似问题?或者有没有更优雅的方案能确保pre-commit环境下Prettier正常识别插件?
内容的提问来源于stack exchange,提问作者Lajos
相关产品推荐
相关产品推荐

