2013-03-07 131 views
15

我想在命令行中使用作曲:作曲家无法下载文件

php composer.phar update 
php composer.phar install 
php composer.phar self-update 
php composer.phar selfupdate 

无论我做什么,我总是收到相同的错误消息:

文件无法下载。无法打开流

我落后于代理。如果我使用浏览器并输入与那些不适用于命令行的URL相同的URL,则没有问题。

我该怎么办?

回答

19

如果您使用的是HTTP代理之后的作曲家,则可以使用标准http_proxyHTTP_PROXY环境变量。只需将其设置为您的代理的URL。许多操作系统已经为你设置了这个变量。

如:

HTTP_PROXY="http://my-corp-proxy.mcdonalds" php composer.phar install 

奖励积分,如果你把它变成你的.bashrc如果您在Linux/OS X或Windows的环境设置。

为了方便起见,您可以导出变量,然后不必一直输入。

export HTTP_PROXY="http://my-corp-proxy.mcdonalds" 
php composer.phar install 
+0

对不起,我真的是一个关于网络事物和代理的新手..我无法访问代理服务器,因为我在一家公司工作,我使用的是Windows 7 ... HTTP_PROXY之后的网址是什么? – mlwacosmos 2013-03-07 10:22:26

+2

@mlwacosmos在Win7上添加一个环境变量,你可以按照这个指南:http://www.itechtalk.com/thread3595.html你需要定义HTTP_PROXY作为变量名和'http://your.proxy.address.or .ip /'作为值。然后,您必须重新启动作曲家的CMD以查看更改。 – Seldaek 2013-03-07 11:08:43

9

正确的一种简单的方法来下一个代理在Windows上运行作曲家打开控制台(CMD),进入到你的项目的位置,并运行此命令:

C:\wamp\htdocs\myproject\> SET HTTP_PROXY=http://username:[email protected]:8080 && php composer.phar install 

PD:你必须改变参数,如:用户名,密码,proxy.yourdomain.com 8080到你

我希望这对您有所帮助

+1

感谢您将完整的用户名和密码部分添加到网址中。 – Abinadi 2014-02-26 16:05:37

+0

这工作无瑕 – dExIT 2017-11-30 13:45:56

1

,不设置https_proxy(只是http_proxy)!

+0

.......但为什么? – 2017-09-28 14:46:48

+0

,因为如果未设置,则https_proxy默认为http_proxy – DarkMukke 2018-01-10 11:34:41