I'm about to lose my mind. How in the world do you tell CPAN to download via HTTP only? ...and NOT via a proxy.


Simplest way of having it not use FTP is to shove HTTP URLs on the front of your urllist - or replace it completely like sebastionopilla said. You can do it from inside the cpan shell too:

o conf urllist unshift http://some.cpan.mirror/here/

You can use

o conf urllist -
o conf urllist shift

to empty it first if you wish.


o conf no_proxy 1

to turn off the proxy.


o conf commit

to save the config


Try putting only HTTP URLs in your CPAN's Config.pm file, like:

'urllist' => [q[http://cpan.cict.fr/], q[http://cpan.enstimac.fr/], q[http://mirrors4.kernel.org/cpan/]],

I routinely do this and as far as I can see there's no FTP traffic to any CPAN mirror.


Try these:

  1. Before running cpan: export -n http_proxy
  2. In the cpan shell: o conf http_proxy ''
  3. To save your modified cpan config: o conf commit

That will disable any http proxy CPAN is configured to use.

cpan[1]> o conf /proxy/
cpan[2]> o conf no_proxy 1
cpan[3]> o conf commit

Set proxy username and password:

cpan[4]> o conf proxy_user your_username
cpan[5]> o conf proxy_pass your_password
cpan[6]> o conf commit

If you don't want to use a cpan shell, you can also edit your cpan config file with a text editor, in unix systems it's here:


Of course, the field to change in your particular question is 'http_proxy'.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.