switching-org 是做什么的?
使用 Salesforce CLI 切换活动的 Salesforce 组织(默认目标组织)。当有人想要更改 CLI 命令运行的目标组织时使用——无论是说“切换组织”、“更改默认组织”、“将我的组织设置为”、“使用别名”、“指向”,还是描述想要针对特定组织、Scratch 组织、沙盒或生产环境工作。
使用场景
- 开发者正在处理多个 Salesforce 组织(例如,一个用于开发,一个用于测试,一个用于生产)。
- AI 助手检测到在不同 Salesforce 环境之间切换的请求。
- 用户希望通过名称或别名快速切换当前上下文。
- 在 CI/CD 流水线或本地开发环境中需要切换到特定组织。
工作原理
该技能通过调用 Salesforce CLI 命令 sf org set default(或较旧的 sfdx force:config:set)来更改默认目标组织。它接受组织的别名、用户名或 ID,并在执行切换后验证新默认组织的状态。
支持的 CLI 版本
- Salesforce CLI v2(推荐):使用
sf org set default命令。 - Salesforce CLI v1(旧版):使用
sfdx force:config:set命令。
依赖项
- 必须安装 Salesforce CLI。
- 目标组织必须已通过
sf org login或等效方法进行身份验证。
示例
基本用法
# 切换到名为 "my-scratch-org" 的组织(别名)
sf org set default my-scratch-org
# 验证当前默认组织
sf org display
使用旧版 CLI
# 使用用户名设置默认组织(旧版)
sfdx force:config:set [email protected]
# 查看当前配置
grep defaultusername .sfdx/sfdx-config.json
通过别名切换
如果已使用别名,例如:
# 假设已设置别名
sf alias set my-org-alias [email protected]
# 使用别名切换
sf org set default my-org-alias
常见问题
如何查看可用组织列表?
# 列出所有已授权的组织
sf org list
如何创建新别名?
# 为现有组织添加别名
sf alias set my-new-alias [email protected]
切换组织后如何验证?
# 显示当前默认组织详细信息
sf org display
注意事项
- 切换默认组织只会影响后续的 CLI 命令,不会影响正在进行的操作或已打开的用户界面。
- 如果指定了不存在的组织,命令将失败并显示错误消息。
- 确保在切换前已妥善保存所有未提交的更改,因为某些命令可能依赖于特定的组织上下文。
- 对于生产组织,请确保拥有适当的权限;误用可能导致意外数据修改。
故障排除
错误:"Organization not found"
确保你已登录到该组织。使用以下命令登录:
# 交互式登录
sf org login
# 使用客户端 ID 和密钥进行非交互式登录
sf org login --client-id YOUR_CLIENT_ID --private-key PATH_TO_KEY
错误:"Multiple matches found"
如果多个组织具有相似名称或别名,请使用完整的用户名或组织 ID 代替。
仍然有问题?
检查 Salesforce CLI 版本:
sf --version
并确保已安装:
sf plugins --core
如果问题仍然存在,请查阅 Salesforce CLI 文档 获取更多帮助。