Voglio installare i moduli perl su un server condiviso sul quale non ho accesso root. Come posso fare questo? Sembra che abbiano anche una versione precedente di CPAN (si lamenta di questo durante l'esecuzione del comando), è possibile aggiornare il comando CPAN utilizzato dal mio account senza richiedere l'accesso come root?Come posso utilizzare CPAN come utente non root?
risposta
Il metodo più semplice che ho trovato finora è dire
wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile
Questo presuppone che il profilo è denominato .profile
, potrebbe essere necessario cambiare che per essere .bash_profile
, .bashrc
, ecc Dopo che è possibile installare moduli dicendo
cpanm Module::Name
e li usa allo stesso modo semplice lo faresti se fossero installati nelle directory root.
Quello che segue è una breve spiegazione di ciò che i comandi precedenti fanno.
wget -O- http://cpanmin.us
recupera l'ultima versione di cpanm
e lo stampa a STDOUT
che viene poi convogliata al perl - -l ~/perl5 App::cpanminus local::lib
. Il primo -
dice perl
aspettarsi il programma di entrare in STDIN
, questo rende perl
eseguire la versione di cpanm
appena scaricato. perl
passa il resto degli argomenti a cpanm
. L'argomento -l ~/perl5
indica cpanm
dove installare i moduli Perl, e gli altri due argomenti sono due moduli da installare. [App::cpanmins
] 1 è il pacchetto che installa cpanm
. local::lib
è un modulo helper che gestisce le variabili di ambiente necessarie per eseguire i moduli nella directory locale.
Dopo che i moduli siano installati si corre
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
per impostare le variabili di ambiente necessarie per utilizzare i moduli locali e poi
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile
per garantire saremo in grado di utilizzare la volta successiva effettuiamo l'accesso.
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile
si spera causare l'uomo a trovare le pagine man per i moduli locali.
+1 per cpanminus ... non l'ho mai usato, quindi non mi sento come se dovessi raccomandarlo, ma mi piace da quello che ho visto su SO finora – DVK
Questo ha funzionato perfettamente per me. Solo una piccola nota per rimuovere prima eventuali variabili d'ambiente PERL5LIB esistenti nel tuo ~/.profile (o qualsiasi altra cosa). Altrimenti local :: lib non si installerà durante l'esecuzione del primo comando. –
@juannavar Buon punto, tendo ad installarlo su macchine appena installate, quindi non mi imbatto in quel caso. –
http://novosial.org/perl/life-with-cpan/non-root/
Il passo principale in entrambe le istruzioni comporta local::lib module
AFAIK, logica CPAN è contenuta nel modulo Perl (CPAN.pm) che significa che è anche possibile installare facilmente il più recente nella tua directory locale come faresti con qualsiasi altro modulo Perl.
Inoltre, una volta che si installa i moduli in una posizione non standard, dai un'occhiata a queste due domande sulle librerie di carico da posizioni non standard (alcune delle informazioni è già disponibile nel link qui sotto):
How does a Perl program know where to find the file containing Perl module it uses?
How is Perl’s @INC constructed? (aka Quali sono tutti i modi di influenzare in cui i moduli Perl sono cercato?)
Divulgazione - Ho creato entrambe le domande SO collegate in questa risposta. – DVK
Ci sono almeno quattro modi diversi per installare i moduli da CPAN: a mano, il modulo CPAN (e il suo equivalente a riga di comando 'cpan'), il modulo' CPANPLUS' (e il suo equivalente a riga di comando 'cpanp'), e la nuova App: : distribuzione cpanminus che installa 'cpanm'. Di questi, trovo che 'cpanm' sia il più facile da installare e utilizzare. 'cpan' e' cpanp' sono installati di default, ma richiedono un setup significativo per funzionare correttamente. –
404: L'URL richiesto/scrittura/articoli/installazione-perl-moduli-senza-root non è stato trovato su questo server. – harschware
Per completezza, questo è il processo di installazione di cpanm
su OSX se si desidera mantenere il perl5
sotto ~/Library
.
curl -L http://cpanmin.us | perl - -l ~/Library/perl5 App::cpanminus local::lib
eval `perl -I ~/Library/perl5/lib/perl5 -Mlocal::lib=~/Library/perl5`
echo 'eval `perl -I ~/Library/perl5/lib/perl5 -Mlocal::lib=~/Library/perl5`' >> ~/.bash_profile
Se si vuole essere in grado di leggere le pagine man per i moduli cpanminus-installato così, si dovrebbe anche assicurarsi che il corretto sottodirectory del percorso della libreria scelto si trova in MANPATH. Quindi la soluzione di cui sopra che mostra il processo di installazione del cpanm ha bisogno il seguente comando aggiuntivo:
export MANPATH=$HOME/Library/perl5/man:$MANPATH' >> ~/.bash_profile
- 1. Come eseguire node.js come utente non root?
- 2. Come eseguire l'immagine finestra mobile come utente non root?
- 3. Come posso cambiare il nome utente di root in MySQL
- 4. quando si utilizza CPAN in linux ubuntu devo eseguire l'uso di sudo/come root o come il mio utente predefinito
- 5. Come posso installare i moduli Perl senza privilegi di root?
- 6. Esegui il programma Android come utente root
- 7. Connessione a finestra mobile contenitore come utente non root
- 8. Sicurezza dei Docker come viene eseguito come utente root
- 9. Come utilizzare setuid() da root per diventare utente, con la possibilità di diventare nuovamente root in seguito?
- 10. Come si leggono i changelog CPAN?
- 11. Come posso installare un modulo CPAN in una directory locale?
- 12. Come posso aggiornare il modulo di qualcun altro su CPAN?
- 13. Come posso seguire gli aggiornamenti di un particolare modulo CPAN?
- 14. Perché non posso utilizzare i nuovi volumi EBS st1/sc1 di AWS come volumi root
- 15. TeamCity - Come posso copiare un VCS Root?
- 16. Come eseguire gunicorn/un app server Python come utente non root?
- 17. Come rimuovere un modulo da CPAN?
- 18. come gestire da PHP uno script bash sotto utente root
- 19. Come eseguire il cron job come utente invece di utente root
- 20. Eseguire un programma C++ in Clion come utente root
- 21. Come decidere quale valore root utilizzare per le mutazioni GraphQL
- 22. Play Framework come SBT Modulo non root
- 23. CPAN Perl moduli di installazione non trovare file tar
- 24. Installare un pacchetto/strumento python da un utente non root
- 25. PHP come trovare l'applicazione root?
- 26. Mysql: accesso negato per utente 'root' @ 'localhost'
- 27. Come creare pacchetti PPM da CPAN
- 28. Utente root all'interno del contenitore Composer
- 29. In che modo "concedo all'utente di creare" come utente non root?
- 30. Esecuzione di Selenium :: WebDriver :: Firefox all'interno di Xvfb da ruby come utente NON root
possibile duplicato di [? Come posso utilizzare un nuovo modulo Perl senza installare i permessi] (http://stackoverflow.com/questions/ 251705/how-can-i-use-a-new-perl-module-senza-install-permissions) – daxim