dart pub在代理后面失败 - 有没有办法手动安装软件包?

时间:2013-05-29 08:24:50

标签: dart dart-pub

使用代理在公司网络中使用Pub dart存在一个已知问题(至少在Windows计算机上)。您甚至无法运行示例,因为他们使用pub来获取包。 如果您首先从没有代理的网络运行示例,那么当您从代理服务器后面运行它时,它可以正常运行(已安装软件包)。

我的问题是:如何手动安装软件包?

我当然可以从git中获取它们,但是之后我需要做什么才能“安装它们”我对Dart安装目录中的内容,用户目录以及似乎必要的符号链接感到困惑。 可能是我错过了一些东西,但我没有找到任何关于那个的好文档。

感谢,

F。

2 个答案:

答案 0 :(得分:4)

您可以手动下载包文件,将它们复制到packages文件夹,然后从其他使用它们的地方符号链接到该文件夹​​(在Windows Vista及更高版本中,您可以使用mklink命令)。您也可以将它们复制到任何地方,而不是符号链接,但这会使维护变得复杂。

更简单的解决方案,如果您可以从没有代理的计算机访问完整安装,则从那里复制包文件夹。

更简单的是,我有时会在我的Dropbox文件夹中保存测试项目,所以我只是在我家用电脑上时更新,并且它在代理后面的办公室机器上工作正常。

话虽这么说,我能够通过指定以下系统环境变量来解决代理问题(下面的地址/端口组合已经组成,请使用正确的设置):

HTTP_PROXY:  192.168.123.123:1234  
HTTPS_PROXY: 192.168.123.123:1234  

此外,要使DartEditor能够检查编辑器更新,请将以下内容添加到DartEditor.ini文件中:

-Dhttp.proxyHost=192.168.123.123
-Dhttp.proxyPort=1234

如果您的代理使用身份验证,请同时检查以下设置(我不能这样做,我无法分辨):

-Dhttp.proxyUser=XXX
-Dhttp.proxyPassword=XXX

答案 1 :(得分:1)

另一种方法是使用命令行工具获取软件包:

(在Windows上)

  1. 代理设置

    • 在cmd(非持久性)中:

      SET HTTP_PROXY=proxy:port
      SET HTTPS_PROXY=proxy:port
      
    • 或者正如Zdeslav Vojkovic建议的那样 - 指定系统环境变量(持久性)。

  2. 转到示例应用程序文件夹

    cd <path-to-dart-installation>\samples\angular_todo\
    
  3. 运行所需的pub命令:

    <path-to-dart-installation>\dart-sdk\bin\pub.bat get
    
  4. 项目在飞镖编辑器中自动更新。


    编辑: 尝试将代理信息设置为系统环境变量,但使用小写,例如

    http_proxy=proxy:port
    https_proxy=proxy:port
    

    据我所知,Windows环境变量不区分大小写。然而,飞镖编辑似乎有所作为。