Perl: cpan Zielverzeichnis konfigurieren.

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von struppi » 24.07.2020 16:09:00

Ich sitze auf einem (Apache-)Server und habe mit SELinux zwei getrennte Pfade. Einmal der $HOME Pfad und ein 'html' Pfad der auf ein anderes Verzeichniss in einer anderen Struktur verlinkt ist .

Wenn ich mit cpan ein Perl Modul installieren, wird das in $HOME installiert. Aber ich kann von einem Skript unter html/domain/index.pl nicht darauf zugreifen, da der zugriff auf $HOME nicht erlaubt ist.

Ich hab jetzt ein paar Einstellungen probiert, aber alle haben keine Auswirkungen auf den Installationprozess:
'make_arg'
'make_install_arg'
'mbuildpl_arg'

Es gibt noch INSTALL_BASE, ich verstehe aber nicht wie die das konfiguriere:
https://perldoc.perl.org/ExtUtils/MakeM ... STALL_BASE

Weiss das jemand zufällig?

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von inne » 24.07.2020 16:51:00

Soll es dann nach /usr/local oder wohin? Suchst Du also PREFIX und LIB, aus der von dir verlinken Anleitung zu MakeMaker? Und wenn Du schon MakeMaker erwähnst, warum installierst du nicht mit cpan bzw. cpanm?

cpanm -l /usr/local MODUL::NAME # oder wo immer das Modul liegt

Hier kannst du statt /usr/local auch 'html' angeben!? Bei cpan ist es -I statt -l.

Oder meinst Du mod_perl?

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von struppi » 25.07.2020 15:18:07

Nein, ich schrieb doch, ich installiere mit cpan.

Der Hinweis war darauf gemünzt, weil das erste was man findet, wenn man anch cpan installations pfad o.ä. sucht, eine Antwort mit dieser Option ist, die aber nicht hilft, weil diese Optiopn bei cpan keine Wirkung hat. Es müsste also irgendwie möglich sein, diese Option von cpan an makefile zu übergeben.

cpanm ist nicht installiert und mit cpan -i kann ich nur ein Modul installieren, aber eben im falschen Pfad. Das Skript hat keine Erlaubnis darauf zu zugreifen.

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von inne » 25.07.2020 15:50:48

struppi hat geschrieben: ↑ zum Beitrag ↑
25.07.2020 15:18:07
mit cpan -i kann ich nur ein Modul installieren, aber eben im falschen Pfad. Das Skript hat keine Erlaubnis darauf zu zugreifen.
Aber mit -I kannst Du doch einen anderen Pfad angeben, funktioniet das nicht?

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von struppi » 25.07.2020 15:56:28

Nein.

Code: Alles auswählen

$ cpan -i /var/www/virtual/xxx/perl5/ HTML::Template
Reading '/var/www/virtual/xxx/.cpan/Metadata'
  Database was generated on Sat, 25 Jul 2020 05:29:03 GMT
Warning: Cannot install /var/www/virtual/xxx/perl5/, don't know what it is.
Try the command

    i //var/www/virtual/xxx/perl5//

to find objects with matching identifiers.
HTML::Template is up to date (2.97).
Ach so: -l listet nur die Module auf.

Nachtrag: und -I kennt cpan nicht.

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von inne » 25.07.2020 16:09:41

Doch tut es -I path/to/html (Das ist ein großes i). weil du oben 'html' sagst.

Aber ich würde zu Debiancpanminus raten,weil damit kannst Du die Module auch wieder deinstallieren, was cpan nicht kann.

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von struppi » 25.07.2020 16:31:45

Nein tut es nicht. Das grosse I gibt es bei cpan nicht als Option. Ich hab auf den Server keine Konfigurationmöglichkeiten, cpanminus gibt es nicht.

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von inne » 25.07.2020 20:04:36

struppi hat geschrieben: ↑ zum Beitrag ↑
25.07.2020 16:31:45
Nein tut es nicht. Das grosse I gibt es bei cpan nicht als Option
Welches Perl/cpan ist das?

https://manpages.debian.org/buster/perl/cpan.1.en.html
-I
Load "local::lib" (think like "-I" for loading lib paths). Too bad "-l" was already taken.
Debian verwöhnt einen richtig :-)

Edit: Dann würde ich erst recht App::cpanminus hernehmen ;-) https://metacpan.org/release/App-cpanminus
Zuletzt geändert von inne am 26.07.2020 14:49:29, insgesamt 1-mal geändert.

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von struppi » 26.07.2020 14:40:59

Ok, Danke das hat was gebracht.

Es ist ein Centos

Code: Alles auswählen

(info): /usr/bin/cpan script version 1.676, CPAN.pm version 2.28
Aber cpanm funktioniert doch.

Allerdings installiert es xs Module nicht oder irgendwo wo ich sie nicht finden kann. Das betrifft aber in meinem Fall nur Date::Calc und davon gibt es auch eine Version in pure Perl.

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Perl: cpan Zielverzeichnis konfigurieren.

Beitrag von inne » 27.07.2020 17:54:16

struppi hat geschrieben: ↑ zum Beitrag ↑
26.07.2020 14:40:59
Aber cpanm funktioniert doch.
Das wird auch auf perl.org/cpan.org so erwähnt:
cpan -> cpanm (https://www.cpan.org/modules/INSTALL.html)
struppi hat geschrieben: ↑ zum Beitrag ↑
26.07.2020 14:40:59
Allerdings installiert es xs Module nicht oder irgendwo wo ich sie nicht finden kann. Das betrifft aber in meinem Fall nur Date::Calc und davon gibt es auch eine Version in pure Perl.
Udn auch in der Beschreibung zu App::cpanminus steht:
https://metacpan.org/pod/App::cpanminus hat geschrieben:DEPENDENCIES
C compiler, if you want to build XS modules.
Also gcc/g++ oder clang o.ä. hast Du alles installiert? Es wird auch ein Log geschrieben.

Vlt. solltest Du dir auch cpan2rpm ansehen, dann musst Du das alles nicht auf dem Server(?) tun.

Antworten