Contents

Troubleshooting pub

Getting a “403” error when publishing a package

您在运行pub publish时收到以下错误:

HTTP error 403: Forbidden
...
You aren't an uploader for package '<foo>'

如果您的一个帐户被授予发布程序包的权限,但是发布客户端使用另一个帐户注册了您,则可能会发生此问题.

您可以通过删除凭据文件来重置发布方的身份验证过程:

$ rm ~/.pub-cache/credentials.json

Getting an “UnauthorizedAccess” error when publishing a package

您在运行pub publish时收到以下错误:

UnauthorizedAccess: Unauthorized user: <username> is not allowed to upload versions to package '<foo>'.

如果您不在授权发布程序包新版本的人员列表中,则会看到此消息. 请参阅上载 .

Pub build fails with HttpException error

运行pub build时,您将收到类似于以下内容的HttpException错误:

Pub build failed, [1] IsolateSpawnException: 'HttpException: Connection closed while receiving data,
...
library handler failed
...

这可能是由于某些防病毒软件(例如AVG 2013 Internet安全套件)导致的. 查看安全套件手册,以了解如何暂时禁用此功能. 例如,请参阅如何禁用AVG组件 .

Pub get fails from behind a corporate firewall

在命令行中,pub使用http_proxyhttps_proxy环境变量. 您可以如下设置代理服务器环境变量.

在Linux / macOS上:

$ export https_proxy=hostname:port

在Windows命令提示符上:

$ set https_proxy=hostname:port

在Windows PowerShell上:

$ $Env:https_proxy="hostname:port"

如果代理需要凭据,则可以如下设置它们.

在Linux / macOS上:

$ export https_proxy=username:password@hostname:port

在Windows命令提示符上:

$ set https_proxy=username:password@hostname:port

在Windows PowerShell上:

$ $Env:https_proxy="username:password@hostname:port"

Localhost unreachable after sign-in

当您运行pub publish在一个容器中或通过SSH会话时, localhostpub是听可能会从不同的localhost是在你的浏览器访问. 尽管您可以使用浏览器登录,但浏览器随后抱怨无法访问http://localhost:<port>?code=...

尝试使用以下解决方法,该解决方案使用命令行完成登录:

  1. 在终端窗口中,运行pub publish .
  2. 在出现的浏览器窗口中,登录.
    浏览器被重定向到新的本地主机URLhttp://localhost:<port>?code=... ),但抱怨该URL无法访问.
  3. 从浏览器复制新的本地主机URL .
  4. 在与调用pub publish容器相同或位于同一主机的另一个终端窗口中,使用curl命令使用新的localhost URL完成登录:

    $ curl 'http://localhost:<port>?code=...'
    

by  ICOPY.SITE