能否在Prettier的YAML/JSON配置中使用环境变量?如何展开${HOME}变量
解决Prettier配置中环境变量无法展开的问题
Prettier的YAML/JSON配置文件本身不会自动解析环境变量(比如${HOME}),所以会出现找不到模块的错误,给你几个可行的解决方案:
方案1:直接使用绝对路径
把配置里的${HOME}替换成你实际的用户目录路径,比如:
YAML格式(.prettierrc.yaml)
plugins: - "/home/user/.local/share/nvm/v18.12.1/lib/node_modules/prettier-plugin-sql"
JSON格式(.prettierrc.json)
{ "plugins": ["/home/user/.local/share/nvm/v18.12.1/lib/node_modules/prettier-plugin-sql"] }
方案2:通过Shell命令生成配置文件
利用Shell自动展开环境变量的特性,生成带有绝对路径的配置文件:
生成YAML配置
执行以下命令:
echo "plugins: - \"$HOME/.local/share/nvm/v18.12.1/lib/node_modules/prettier-plugin-sql\"" > .prettierrc.yaml
生成JSON配置
执行以下命令:
echo "{ \"plugins\": [\"$HOME/.local/share/nvm/v18.12.1/lib/node_modules/prettier-plugin-sql\"] }" > .prettierrc.json
执行后,配置文件里的$HOME会被替换成实际路径。
方案3:直接使用插件名称(推荐)
如果你的prettier-plugin-sql是全局安装的(通过npm install -g prettier-plugin-sql安装),可以不用写完整路径,直接配置插件名:
YAML格式
plugins: - prettier-plugin-sql
JSON格式
{ "plugins": ["prettier-plugin-sql"] }
Prettier会自动在全局Node模块目录中查找该插件,这样配置更简洁,也避免了路径相关的问题。
内容的提问来源于stack exchange,提问作者ksemeks
相关产品推荐
相关产品推荐

