Hi, auf Vorschlag einiger Perlentwickler hier (ist schon länger her) habe ich zum Management mehrerer Perlversionen nebeneinander perlbrew installiert. Bisher klappt das einfach und gut. Aber was ist mit den CPAN-Modulen ? Ich habe im "alten" perl (was vorher schon da war) jede Menge CPAN-Module installiert. Ein perlbrew switch neue.version verbiegt aber die Pfade so, daß die dort installierten CPAN-Module nie gefunden werden können. Muss ich die jetzt für das "neue" perl noch 'mal installieren ? Und was ist, wenn ich jetzt mehrere "neue" Perlversionen installiere ? Muss ich dann für jede extra die CPAN-Module installieren ? Danke für jede Hilfe. Bernd -- Bernd Lentes Systemadministration Institut für Entwicklungsgenetik HelmholtzZentrum münchen bernd.lentes@helmholtz-muenchen.de phone: +49 89 3187 1241 fax: +49 89 3187 3826 http://www.helmholtz-muenchen.de/idg Wer Visionen hat, soll zum Hausarzt gehen Helmut Schmidt Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Wed, 2 May 2012 19:19:21 +0200
schrieb "Lentes, Bernd"
Hi,
auf Vorschlag einiger Perlentwickler hier (ist schon länger her) habe ich zum Management mehrerer Perlversionen nebeneinander perlbrew installiert. Bisher klappt das einfach und gut. Aber was ist mit den CPAN-Modulen ? Ich habe im "alten" perl (was vorher schon da war) jede Menge CPAN-Module installiert. Ein perlbrew switch neue.version verbiegt aber die Pfade so, daß die dort installierten CPAN-Module nie gefunden werden können. Muss ich die jetzt für das "neue" perl noch 'mal installieren ? Und was ist, wenn ich jetzt mehrere "neue" Perlversionen installiere ? Muss ich dann für jede extra die CPAN-Module installieren ?
Die Module werden auch über perlbrew verwaltet und mittels cpanm installiert. Weitere Hinweise findest du hier: http://perlbrew.pl/ -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Dieter schrieb:
Hi,
auf Vorschlag einiger Perlentwickler hier (ist schon länger her) habe ich zum Management mehrerer Perlversionen nebeneinander perlbrew installiert. Bisher klappt das einfach und gut. Aber was ist mit den CPAN-Modulen ? Ich habe im "alten" perl (was vorher schon da war) jede Menge CPAN-Module installiert. Ein perlbrew switch neue.version verbiegt aber die Pfade so, daß die dort installierten CPAN-Module nie gefunden werden können. Muss ich die jetzt für das "neue" perl noch 'mal installieren ? Und was ist, wenn ich jetzt mehrere "neue" Perlversionen installiere ? Muss ich dann für jede extra die CPAN-Module installieren ?
Die Module werden auch über perlbrew verwaltet und mittels cpanm installiert. Weitere Hinweise findest du hier: http://perlbrew.pl/
Ja, da habe ich schon geguckt. Die Seite ist aber sehr sparsam mit Aussagen zu CPAN oder CPANM. Muss ich für ein "neues" Perl (das ich mit perlbrew installiert habe), alle CPAN-Module erneut installieren ? Schließlich tauchen die Pfade, in denen die CPAN-Module bisher installiert waren (in @INC) nach einem "perlbrew switch" nicht mehr auf. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Thu, 3 May 2012 11:09:46 +0200
schrieb "Lentes, Bernd"
Dieter schrieb:
Hi,
auf Vorschlag einiger Perlentwickler hier (ist schon länger her) habe ich zum Management mehrerer Perlversionen nebeneinander perlbrew installiert. Bisher klappt das einfach und gut. Aber was ist mit den CPAN-Modulen ? Ich habe im "alten" perl (was vorher schon da war) jede Menge CPAN-Module installiert. Ein perlbrew switch neue.version verbiegt aber die Pfade so, daß die dort installierten CPAN-Module nie gefunden werden können. Muss ich die jetzt für das "neue" perl noch 'mal installieren ? Und was ist, wenn ich jetzt mehrere "neue" Perlversionen installiere ? Muss ich dann für jede extra die CPAN-Module installieren ?
Die Module werden auch über perlbrew verwaltet und mittels cpanm installiert. Weitere Hinweise findest du hier: http://perlbrew.pl/
Ja, da habe ich schon geguckt. Die Seite ist aber sehr sparsam mit Aussagen zu CPAN oder CPANM. Muss ich für ein "neues" Perl (das ich mit perlbrew installiert habe), alle CPAN-Module erneut installieren ? Schließlich tauchen die Pfade, in denen die CPAN-Module bisher installiert waren (in @INC) nach einem "perlbrew switch" nicht mehr auf.
Ja das ist leider so, denn perlbrew und cpanm installieren die Module nach ~/perl5/perlbrew/perls/perl<version> nach einem perlbrew switch werden dann nur die Module gelesen die im Versionspfad liegen. Allerdings könnte sidecustomize helfen, habe ich aber noch nicht getestet. http://perlbrew.pl/Install-a-sitecustomize.pl-file-with-perlbrew.html -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Dieter schrieb:
Ja, da habe ich schon geguckt. Die Seite ist aber sehr sparsam mit Aussagen zu CPAN oder CPANM. Muss ich für ein "neues" Perl (das ich mit perlbrew installiert habe), alle CPAN-Module erneut installieren ? Schließlich tauchen die Pfade, in denen die CPAN-Module bisher installiert waren (in @INC) nach einem "perlbrew switch" nicht mehr auf.
Ja das ist leider so, denn perlbrew und cpanm installieren die Module nach ~/perl5/perlbrew/perls/perl<version> nach einem perlbrew switch werden dann nur die Module gelesen die im Versionspfad liegen. Allerdings könnte sidecustomize helfen, habe ich aber noch nicht getestet. http://perlbrew.pl/Install-a-sitecustomize.pl-file-with-perlbrew.html
Hi, danke für die schnelle Antwort. sind die CPAN-Module dann wenigstens für alle mit perlbrew installierten Perlversionen vorhanden ? Oder muss ich noch für jede Version extra die Module installieren ? Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Thu, 3 May 2012 11:32:18 +0200
schrieb "Lentes, Bernd"
Dieter schrieb:
Ja, da habe ich schon geguckt. Die Seite ist aber sehr sparsam mit Aussagen zu CPAN oder CPANM. Muss ich für ein "neues" Perl (das ich mit perlbrew installiert habe), alle CPAN-Module erneut installieren ? Schließlich tauchen die Pfade, in denen die CPAN-Module bisher installiert waren (in @INC) nach einem "perlbrew switch" nicht mehr auf.
Ja das ist leider so, denn perlbrew und cpanm installieren die Module nach ~/perl5/perlbrew/perls/perl<version> nach einem perlbrew switch werden dann nur die Module gelesen die im Versionspfad liegen. Allerdings könnte sidecustomize helfen, habe ich aber noch nicht getestet. http://perlbrew.pl/Install-a-sitecustomize.pl-file-with-perlbrew.html
[...]
danke für die schnelle Antwort. sind die CPAN-Module dann wenigstens für alle mit perlbrew installierten Perlversionen vorhanden ? Oder muss ich noch für jede Version extra die Module installieren ?
perlbrew install <version> kompiliert und installiert ja die Basismodule. Darüber hinausgehende Module installiere ich mit cpanm nach. Ich verwende nur switch, daher befinden sich in meiner perlbrew Umgebung die Module in den Versionsverzeichnissen und und perl findet nur diese, es gibt leider kein übergeordnetes site-perl Verzeichnis. Vielleicht ist es mit perlbrew use <version> statt switch möglich, habe ich aber auch noch nicht getestet. Für meine Spielereien brauche ich auch nur drei oder vier Module, die sind leicht mittels perlbrew switch <version>, cpanm Modul::NAME zu installieren. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Dieter schrieb:
http://perlbrew.pl/Install-a-sitecustomize.pl-file-with-perlbrew.html [...] danke für die schnelle Antwort. sind die CPAN-Module dann wenigstens für alle mit perlbrew installierten Perlversionen vorhanden ? Oder muss ich noch für jede Version extra die Module installieren ?
perlbrew install <version> kompiliert und installiert ja die Basismodule. Darüber hinausgehende Module installiere ich mit cpanm nach. Ich verwende nur switch, daher befinden sich in meiner perlbrew Umgebung die Module in den Versionsverzeichnissen und und perl findet nur diese, es gibt leider kein übergeordnetes site-perl Verzeichnis. Vielleicht ist es mit perlbrew use <version> statt switch möglich, habe ich aber auch noch nicht getestet. Für meine Spielereien brauche ich auch nur drei oder vier Module, die sind leicht mittels perlbrew switch <version>, cpanm Modul::NAME zu installieren.
Hi, das bedeutet, daß ich bei z.B. drei mit perlbrew installierten Perlversionen, in denen ich jeweils das gleiche CPAN-Modul verwende, dieses Modul auch dreimal installieren muß ? Gibt es einen zwingenden Grund, cpanm statt cpan zu verwenden ? Wie wähle ich denn innerhalb eines Perlskriptes die mir genehme Perlversion ? Reicht da mittels shebang das passende binary zu wählen (Ich bin kein Perlprogrammierer) ? Danke für Deine Hilfe. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Thu, 3 May 2012 13:06:35 +0200
schrieb "Lentes, Bernd"
Dieter schrieb:
http://perlbrew.pl/Install-a-sitecustomize.pl-file-with-perlbrew.html [...] danke für die schnelle Antwort. sind die CPAN-Module dann wenigstens für alle mit perlbrew installierten Perlversionen vorhanden ? Oder muss ich noch für jede Version extra die Module installieren ?
perlbrew install <version> kompiliert und installiert ja die Basismodule. Darüber hinausgehende Module installiere ich mit cpanm nach. Ich verwende nur switch, daher befinden sich in meiner perlbrew Umgebung die Module in den Versionsverzeichnissen und und perl findet nur diese, es gibt leider kein übergeordnetes site-perl Verzeichnis. Vielleicht ist es mit perlbrew use <version> statt switch möglich, habe ich aber auch noch nicht getestet. Für meine Spielereien brauche ich auch nur drei oder vier Module, die sind leicht mittels perlbrew switch <version>, cpanm Modul::NAME zu installieren.
Hi,
das bedeutet, daß ich bei z.B. drei mit perlbrew installierten Perlversionen, in denen ich jeweils das gleiche CPAN-Modul verwende, dieses Modul auch dreimal installieren muß ? Gibt es einen zwingenden Grund, cpanm statt cpan zu verwenden ?
Es gibt keinen zwingenden Grund, cpanm ist flexibler und einfacher zu handhaben, cpanm steht für App::cpanminus.
Wie wähle ich denn innerhalb eines Perlskriptes die mir genehme Perlversion ? Reicht da mittels shebang das passende binary zu wählen (Ich bin kein Perlprogrammierer) ?
Im shebang #!/usr/bin/env perl damit wird der aktuelle Pfad auf perl gesucht. Bei mir ist das zur Zeit: which perl /home/dieter/perl5/perlbrew/perls/perl-5.14.2/bin/perl Oder du definierst im Skript use '5.14.2'; (oder welche Version auch immer.) -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Dieter schrieb:
schrieb "Lentes, Bernd"
: Dieter schrieb:
...
Wie wähle ich denn innerhalb eines Perlskriptes die mir genehme Perlversion ? Reicht da mittels shebang das passende binary zu wählen (Ich bin kein Perlprogrammierer) ?
Im shebang #!/usr/bin/env perl
damit wird der aktuelle Pfad auf perl gesucht. Bei mir ist das zur Zeit: which perl /home/dieter/perl5/perlbrew/perls/perl-5.14.2/bin/perl
Was macht denn #!/usr/bin/env perl genau ? Das habe ich ja noch nie gesehen. Wie funktioniert das mit dem Pfad setzen ? Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Bernd schrieb:
Wie wähle ich denn innerhalb eines Perlskriptes die mir genehme Perlversion ? Reicht da mittels shebang das passende binary zu wählen (Ich bin kein Perlprogrammierer) ?
Im shebang #!/usr/bin/env perl
damit wird der aktuelle Pfad auf perl gesucht. Bei mir ist das zur Zeit: which perl /home/dieter/perl5/perlbrew/perls/perl-5.14.2/bin/perl
Was macht denn #!/usr/bin/env perl genau ? Das habe ich ja noch nie gesehen. Wie funktioniert das mit dem Pfad setzen ?
Bernd
Hab's selbst rausgefunden. Hier ist eine gute Erklärung: http://de.wikipedia.org/wiki/Shebang#Speicherort Schafft Abhilfe bzgl. des Problems, daß der Interpreter mit absolutem Pfad angegeben werden muß, dieser aber auf unterschiedlichen Systemen nicht gleich ist. Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo, Am Thu, 03 May 2012, Dieter Klünter schrieb:
Am Thu, 3 May 2012 11:09:46 +0200 schrieb "Lentes, Bernd"
: Ja, da habe ich schon geguckt. Die Seite ist aber sehr sparsam mit Aussagen zu CPAN oder CPANM. Muss ich für ein "neues" Perl (das ich mit perlbrew installiert habe), alle CPAN-Module erneut installieren ? Schließlich tauchen die Pfade, in denen die CPAN-Module bisher installiert waren (in @INC) nach einem "perlbrew switch" nicht mehr auf.
Ja das ist leider so, denn perlbrew und cpanm installieren die Module nach ~/perl5/perlbrew/perls/perl<version> nach einem perlbrew switch werden dann nur die Module gelesen die im Versionspfad liegen. Allerdings könnte sidecustomize helfen, habe ich aber noch nicht getestet. http://perlbrew.pl/Install-a-sitecustomize.pl-file-with-perlbrew.html
Prinzipiell kann man die "pure-perl" Module mit allen Perl-Versionen
(die neu genug sind, da meckert dann aber das 'use <VERSION>;'
"Pragma" im Modul ggfs.) verwenden. Bei XS-Modulen mit .so Dateien
geht höchstens, daß ein gegen ein älteres perl (bzw. genauer: dessen
libperl) gebautes Modul auch mit nem neueren perl funktioniert.
Andersrum wird man i.d.R. "undefined symbol" Fehler bekommen.
Wo perl seine Module sucht kann man auch per 'PERL5LIB' anpassen, das
sollte auch mit perlbrew klappen (ich kenn's aber nicht). Also
meinetwegen ein
PERL5LIB=/home/dieter/perl5/site-perl/
Hallo David,
Am Thu, 3 May 2012 22:23:08 +0200
schrieb David Haller
Hallo,
Am Thu, 03 May 2012, Dieter Klünter schrieb:
Am Thu, 3 May 2012 11:09:46 +0200 schrieb "Lentes, Bernd"
:
http://perlbrew.pl/Install-a-sitecustomize.pl-file-with-perlbrew.html
Prinzipiell kann man die "pure-perl" Module mit allen Perl-Versionen (die neu genug sind, da meckert dann aber das 'use <VERSION>;' "Pragma" im Modul ggfs.) verwenden. Bei XS-Modulen mit .so Dateien geht höchstens, daß ein gegen ein älteres perl (bzw. genauer: dessen libperl) gebautes Modul auch mit nem neueren perl funktioniert. Andersrum wird man i.d.R. "undefined symbol" Fehler bekommen.
Wo perl seine Module sucht kann man auch per 'PERL5LIB' anpassen, das sollte auch mit perlbrew klappen (ich kenn's aber nicht). Also meinetwegen ein PERL5LIB=/home/dieter/perl5/site-perl/
export PERL5LIB in deiner ~/.profile. Ansonsten:
perl -MCPAN -e 'autobundle();'
Das geschriebene Bundle (in $CPAN::Config->{cpan_home}/Bundle) kann man dann mit den anderen von perlbrew verwalteten Versionen nach nem switch auf einen Rutsch per perl -MCPAN -e 'install "Bundle::Snapshot_<DATUM>_<LFDNR>";' installieren.
Du hast prizipiell Recht mit deiner Beschreibung, aber perlbrew ist eine spielle Lösung zum parallelen Betrieb von unterschiedlichen Perl-Versionen. Die von dir beschriebene PERL5LIB Variable erstellt perlbrew in seiner speziellen bashrc, die durch sorce in ~/.bashrc definiert wird, dadurch kannst du mehrere Shells mit unterschiedlichen Perl-Versionen betreiben. Der Vorteil von perlbrew ist auch, dass man es aktivieren und deaktivieren kann. Man kann also sowohl die Systemweite Perl5-Version verwenden, also auch die privaten perlbrew Versionen. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo, Am Sat, 05 May 2012, Dieter Klünter schrieb:
Am Thu, 3 May 2012 22:23:08 +0200 schrieb David Haller
: Prinzipiell kann man die "pure-perl" Module mit allen Perl-Versionen (die neu genug sind, da meckert dann aber das 'use <VERSION>;' "Pragma" im Modul ggfs.) verwenden. [..] Wo perl seine Module sucht kann man auch per 'PERL5LIB' anpassen, das sollte auch mit perlbrew klappen (ich kenn's aber nicht). Also meinetwegen ein PERL5LIB=/home/dieter/perl5/site-perl/
export PERL5LIB in deiner ~/.profile. [..] Du hast prizipiell Recht mit deiner Beschreibung, aber perlbrew ist eine spielle Lösung zum parallelen Betrieb von unterschiedlichen Perl-Versionen. Die von dir beschriebene PERL5LIB Variable erstellt perlbrew in seiner speziellen bashrc, die durch sorce in ~/.bashrc definiert wird, dadurch kannst du mehrere Shells mit unterschiedlichen Perl-Versionen betreiben. Der Vorteil von perlbrew ist auch, dass man es aktivieren und deaktivieren kann. Man kann also sowohl die Systemweite Perl5-Version verwenden, also auch die privaten perlbrew Versionen.
Kann man perlbrew nicht auch ein versionsunabhängiges Verz. unterschieben? So, hab's mal eben installiert: die perlbrew-bashrc ändert PERL5LIB schonmal nicht. So auf die schnelle bekomm ich das aber nicht testfähig hin, also wenn du das mal testen würdest (Dummy.pm nach ~/blubb/, export PERL5LIB=~/blubb ... o.ä. ;) -dnh --
Open .profile with vi The vi looks at the .profile and says, "icky, I'm not opening that. Ask Emacs." -- Graham Reed, feeling adventuroush. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (3)
-
David Haller
-
Dieter Klünter
-
Lentes, Bernd