http://www.perlmonks.org?node_id=910446


in reply to Re: CPAN shared by multiple users
in thread CPAN shared by multiple users

Great idea. I was a bit nervous that the shell might mark HOME as read-only, but it appears to work just fine:
cpan -J | egrep keep_source_where 'keep_source_where' => '/home/jpl/.cpan/sources', HOME=/fs/perl cpan -J | egrep keep_source_where 'keep_source_where' => '/fs/perl/.cpan/sources',
So, in the end, what I had to do was
  1. Install File::HomeDir from CPAN (it's not part of the core distribution), and
  2. Copy the MyConfig.pm from /home/jpl/.cpan/CPAN to /fs/perl/.cpan/CPAN (and make sure all the references to my home directory had been replaced with /fs/perl.)
There's a bit of a chicken-and-egg problem with getting started. If you use the CPAN shell to install File::HomeDir, then you may already have modified the config file under your home directory. It is probably prudent to back it up before doing anything, although the initialization process made a copy in MyConfig.pm~ in my case, so I could restore the original after getting everything set up under /fs/perl.

Replies are listed 'Best First'.
Re^3: CPAN shared by multiple users
by jpl (Monk) on Jun 19, 2011 at 19:17 UTC
    A short followup: I turned another user in the group loose to install something from CPAN, and (after I made sure all the directories under the installation base had both group write permission, and "make all files created hereunder belong to this group" permission), things went fairly well. One install issued some warnings about chmod 666 failing for lack of permissions (which would make sense if the operation were being attempted on a file owned by me, not by the other user), but the install succeeded nevertheless. I'll turn others loose on Monday, and we'll see if things continue smoothly, or other problems arise.