2015-07-07 20 views
6

Sto provando a scrivere qualcosa in Perl che richiede diversi moduli, tuttavia questa è la prima volta che utilizzo Perl e non riesco a installare uno specifico modulo I necessario, Archive::zip.CPANM, "Impossibile trovare il modulo o una distribuzione Archive :: zip"

Sto usando perlbrew e utilizzare il seguente comando per tentare di installare il modulo:

cpanm install Archive::zip 

Ciò restituisce a me i seguenti messaggi attraverso la linea di comando:

install is up to date. (0.01) 
! Finding Archive::zip on cpanmetadb failed. 
! Finding Archive::zip() on mirror http://www.cpan.org failed. 
! Couldn't find module or a distribution Archive::zip 

In un primo momento ho pensato che "l'installazione è aggiornata significava" ce l'avevo, ma qualsiasi cosa provassi ad eseguire richiedendo quel modulo mi dice che manca. Presumo che i messaggi dopo significano che non è possibile trovare alcun posto dove installare questo modulo, e non mi sembra di aver trovato questo problema pubblicato ovunque online. Se questo è il caso, posso specificare uno specchio diverso?

Nel caso in cui possa essere rilevante a questo, attualmente sto usando OSX 10.10.2.

+4

Dovrebbe essere 'Archivio :: Zip', con una' Z' maiuscola (Perl fa distinzione tra maiuscole e minuscole). – ThisSuitIsBlackNot

+4

Inoltre, 'install' non è richiesto, vero? 'cpanm Archive :: Zip' dovrebbe essere sufficiente. 'install' è il comportamento predefinito, vedere [documentazione] (http://search.cpan.org/~miyagawa/App-cpanminus-1.7039/bin/cpanm). –

risposta

1

I nomi dei moduli fanno distinzione tra maiuscole e minuscole: si desidera Archive::Zip, con una "Z" maiuscola.

Inoltre, quando si installa un modulo utilizzando cpanm, è possibile salvare alcune sequenze di tasti omettendo install, è il comportamento predefinito. Citando dal documentation:

(argomenti)

[...]

-i, --install

installa i moduli. Questo è un comportamento predefinito e questa è solo un'opzione di compatibilità per farlo funzionare come cpan o cpanp.

Questo significa che è possibile installare utilizzando Archive::Zip

cpanm Archive::Zip 
+0

Penso che stavo seguendo un tutorial obsoleto e avrebbe potuto avere il comando sbagliato. Alla fine l'ho appena installato manualmente. Grazie per l'aiuto! – DoolAy

0

Come ha fatto notare il manifesto precedente, i nomi dei moduli sono case-sensitive, in modo da "cpanm Archive :: Zip" non troverà ":: Zip Archive ".

Per quanto riguarda "l'installazione è aggiornata", questo è un po 'di confusione all'inizio. Il programma cpanm accetta opzioni, che iniziano con un trattino, e argomenti, che non lo fanno. Se non si specifica alcuna opzione, il comportamento predefinito è installare i moduli specificati come argomenti. Quindi il comando corretto è solo "cpanm Archive :: Zip". Se vuoi dire a cpanm di fare qualcos'altro, lo diresti con un'opzione: per esempio, "cpanm --showdeps Some :: Module" mostrerebbe le dipendenze di Some :: Module ma non installerà nulla.

Se si dice "cpanm installa Archive :: Zip", si consiglia di installare prima il modulo "installa" e successivamente installare "Archive :: Zip". E c'è un modulo chiamato "install" - non fa nulla, ma è stato creato appositamente per evitare errori "Impossibile trovare il modulo o la distribuzione" quando le persone digitavano distrattamente "cpan install Some :: Module". Quindi "installa aggiornato (0.01)" significa che hai precedentemente installato il modulo "installa" e la versione che hai è la versione più recente. (Il che non sorprende dal fatto che un modulo che non fa nulla non ha bisogno di revisione.)