本篇参考:https://github.com/forcedotcom/cli/issues/470
https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_update_cli.htm#sfdx_setup_install_plugin_version
项目背景:lwc community开发,community使用了audience。之前用起来还是好好的,突然有一天使用CLI指令操作时,报错: Unexpected file found in package directory: XXX。
当时为了着急检索和部署其他内容,将audience这个目录删除掉便可以进行正常的CLI的使用,也就没有多思考,后期同事需要部署audience内容这个问题逃不过了也没有其他workaround的方案以后,就只能去查询了。王喜同学找到了因为CLI版本升级导致最新的版本不支持audience,所以针对community项目,拥有audience目录或者package.xml中配置了audience的信息以后进行任何CLI操作都会报错。所以碰到这种情况,第一件事就是需要对CLI进行版本降级。其中一种方式如下:
1. 安装npm:https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_install_cli.htm?search_text=npm 安装CLI的方式有很多,官方推荐某些情况下使用npm,使用npm前需要先安装 node.js
2. 执行以下的内容:
第一步为卸载当前的cli;
第二步为通过node安装指定的salesforce cli的版本,下方的demo为安装 7.58.2,目前已知7.62.X会有audience的部署问题;
第三步为阻止cli自动升级(仅支持windows,其他自行查询)。
代码语言:javascript复制npm uninstall -g sfdx-cli
npm install sfdx-cli@7.58.2 --global
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
通过以上的步骤,再使用CLI的命令进行相关指令操作便不会再报错。
总结:篇中主要讲述了因为CLI版本升级导致的一系列的限制,想必很多人也遇见过,在此总结一下,后来人有碰到的可以快速定位解决问题。篇中有错误地方欢迎指出,有不懂欢迎留言。