in reply to Re: can't get to CPAN prompt
in thread can't get to CPAN prompt

I removed the file as suggested and i was able to get my CPAN prompt but this time i wanted to install Bundle::libnet (which I think i need to use Net::FTP). When I tried running the force install Bundle::libnet, i got an error of Running install for module Data::Dumper Running make for G/GS/GSAR/Data-Dumper-2.101.tar.gz mkdir /Users/ronballesteros/.cpan/sources/authors/id/G/GS: Permission denied at /System/Library/Perl/CPAN.pm line 2303 What do I need to do to resolve these permission problems....

Replies are listed 'Best First'.
Re: Re: Re: can't get to CPAN prompt
by The Mad Hatter (Priest) on Apr 15, 2003 at 23:52 UTC
    You need to install the modules as root (or some other user who has permissions to write to the /System/Library/Perl directory). You can do this by either using su at the command line and typing in root's password, or using sudo (in this case, probably sudo perl -MCPAN -e shell;). You can read more about both commands by using man su and man sudo.

    Nota Bene: To use sudo you might need to be in the /etc/sudoers file. If this is the case, you'll need to be root to add yourself to it.

Re: Re: Re: can't get to CPAN prompt
by crenz (Priest) on Apr 15, 2003 at 23:57 UTC

    Only root has write access to the System directory on OS X. Either configure CPAN to install the modules inside your home directory (using PREFIX) or use

    sudo perl -MCPAN -e shell

    to install as root, inside the System directory.

Re: Re: Re: can't get to CPAN prompt
by nothingmuch (Priest) on Apr 16, 2003 at 12:05 UTC
    In order to be on the sudoers list, open System Preferences, and click on Accounts. Then edit your user, after authentication, so that you 'Can administer this computer' or something like that. If you want life easy, you can sudo pico /etc/csh.login, and add the line
    alias cpan sudo perl -MCPAN -e shell
    somewhere in the file. Another tip is to also add
    alias ll ls -l
    Which will allow you to view long file lists more easily. But i'm drifting off topic.

    If you ever find yourself in need of these aliases, and they are not available, you may need to type tcsh -l to get your shell to read the .login file.

    Best of luck!

    -nuffin
    zz zZ Z Z #!perl
      After doing all your great suggestions I was able to get my CPAN prompt and install Net::FTP. Thinking that everything was ok, I then ran my script that uses Net::FTP and for some reason my script just sits there, doing nothing..... I have verified that the machine that I'm contacting does allow FTP access and even ran my script on a different machine and it worked fine. However on this machine that I've been working on, it just for some reason just sits there? I can't figure out what is wrong: Below is a snippet of my code: I realize that there is a much better way of doing what my script does of gettting a list of files but for the life of me I can't seem to figure out what is wrong? It just sits there....
      #!/usr/bin/perl use Net::FTP; @arrayOfFiles = qw/ testfile1.txt testfile2.txt testfile3.txt testfile +4.txt /; $ftp = Net::FTP->new("XXX.XXX.XXX.XXX", Debug => 0) or die "Could not +connect: $@\n"; $ftp->login("Macaroni","password"); $ftp->cwd("Desktop/DownloadableFiles"); $ftp->ascii(); foreach $getthisfile (@arrayOfFiles) { print $getthisfile; $ftp->get("$getthisfile"); } $ftp->quit; system("cat @arrayOfFiles > catfiles.txt");
        Have you tried manually connecting via FTP? perhaps theres an intermediate problem. Raising the debugging level might also help realizing where the problem lies. If you type 'netstat' in the command line whilst the script hangs you may also see the connection listed, and what state it is in.

        Please try to provide more info....

        -nuffin
        zz zZ Z Z #!perl