sf,用当初装它的那个安装器。安装方式是检测出来的,不是假设的——
在 uv tool 环境里跑 pip install --upgrade 会写进一批 uv 的 receipt 不认识的包,
那比什么都不做更糟。
各种安装方式下的行为
拒绝时它会告诉你哪条命令可行,所以
sf update 不会让你卡住。这也正是推荐
uv tool install 的理由:它是升级路上没有任何阻碍的那种安装。
让 CLI 和服务端保持接近。
sf version 会打印两者的版本,以及服务端所讲的 JobSpec 方言;
方言不一致的 CLI 根本没法提交,并且会明确告诉你。