我已经在两个不同的帐户下将包裹上传到pub.dartlang.org(其中一个与工作相关,另一个与个人相关)。
pub
命令行工具没有任何选项可以选择要发布的帐户,所以一旦我使用该工具登录,并尝试上传属于其他帐户的包,我看到:
$ pub publish
UnauthorizedAccess: Unauthorized user: [email protected] is not allowed to upload versions to package xyz..
如何使用特定帐户发布?如果做不到这一点,我如何注销pub
工具才能在另一个帐户下重新登录?
如果要使用不同的凭据临时发布,可以使用如下命令:
PUB_CACHE=~/.other_credentials_cache pub publish
这将创建一个完全独立的“配置文件”,每当运行任何pub
命令时,PUB_CACHE
环境变量指向~/.pub_cache
以外的目录。如果您使用此缓存来pub get
,您将获得完全独立的软件包下载。
使用此方法,您可以通过指定或不指定不同的缓存目录来在凭证之间切换。您第一次使用新目录时需要进行身份验证。
目前没有办法在命令行pub
工具上下载不同的凭据(虽然有一个proposal)。
如果你有一个相当新版本的pub
,你可以注销:
$ pub logout
然后再次尝试pub publish
。该工具将要求您提供新凭据。
pub logout
命令是一个额外的from January 2019。如果pub
告诉您此命令不存在,则必须手动删除凭证文件。
$ rm ~/.pub-cache/credentials.json