[98_Installer.pm] error 'installPerl App::cpanminus'

Begonnen von maddinthebrain, 22 Januar 2021, 22:36:23

Vorheriges Thema - Nächstes Thema

maddinthebrain

Hallo,

ich bin eben auf den Fhem Installer gestoßen. Leider scheitert es schon direkt nach der Definition des Devices. Der Status ist

error 'installPerl App::cpanminus'

wenn ich

set fhemInstaller installPerl App::cpanminus

ausführe, geht er in den Fehler. Hintenherum das über die Kommandozeile zu installieren hilft nicht. Das Gleiche passiert auch wenn ich
get fhemInstaller checkPrereqs
ausführe, kommen vergleichbare Fehlermeldungen...

mit

get fheminstaller showErrorList
kommt der Fehler
E404 Not Found - cpanm is not installed

Detail:
sh: command not found: cpanm

Aber wenn ich das in der Kommandozeile ausführe ist cpanm vorhanden:
pi@raspi4:~ $ cpanm -V
cpanm (App::cpanminus) version 1.7044 (/usr/local/bin/cpanm)
perl version 5.028001 (/usr/bin/perl)

  %Config:
    archname=arm-linux-gnueabihf-thread-multi-64int
    installsitelib=/usr/local/share/perl/5.28.1
    installsitebin=/usr/local/bin
    installman1dir=/usr/share/man/man1
    installman3dir=/usr/share/man/man3
    sitearchexp=/usr/local/lib/arm-linux-gnueabihf/perl/5.28.1
    sitelibexp=/usr/local/share/perl/5.28.1
    vendorarch=/usr/lib/arm-linux-gnueabihf/perl5/5.28
    vendorlibexp=/usr/share/perl5
    archlibexp=/usr/lib/arm-linux-gnueabihf/perl/5.28
    privlibexp=/usr/share/perl/5.28
  %ENV:
  @INC:
    FatPacked::20507032=HASH(0x138e998)
    /etc/perl
    /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1
    /usr/local/share/perl/5.28.1
    /usr/lib/arm-linux-gnueabihf/perl5/5.28
    /usr/share/perl5
    /usr/lib/arm-linux-gnueabihf/perl/5.28
    /usr/share/perl/5.28
    /usr/local/lib/site_perl
    /usr/lib/arm-linux-gnueabihf/perl-base



Ich habe das Gefühl, dass ihm irgendwelche Rechte fehlen...

Hat jemand ne Idee?

Grüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

maddinthebrain

Hat keiner ne Idee? Der Entwickler vielleicht? Woran könnte das liegen? Offenbar fehlt der Shell Zugriff. Wie gesagt die notwendigen Pakete sind ja vorhanden...
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

SebastianStorb

#2
Hallo Martin,

das Problem ist mir gut bekannt, auf mehreren FHEM Installationen bei mir aufgetreten und ich habe es nur durch extrem viel herumprobieren lösen können. Hier zuerst die Schritte die bei mir nicht sofort geholfen hatten, aber wahrscheinlich auch ein Teil des Lösungsweges waren:

apt-get update
apt-get upgrade
apt-get dist-upgrade
apt update


So habe ich gesucht, ob cpan installiert ist:
instmodsh
cmd? l


CPAN::Meta
.....
cpan::outdated

wurde auf den funktionierenden Systemen angezeigt. Auf dem nicht funktionierenden System fehlte CPAN:Meta.
Nachinstallation per Hand hat auch nicht geholfen. Es wurde immer gezeigt, dass die Module schon installiert seien

Dabei habe ich herausgefunden, dass nicht alle Module richtig angezeigt wurden und daher folgendes versucht:
apt-get install libforks-perl libthread-queue-any-perl libtime-hires-perl


Hat auch keine Besserung gebracht. Daher habe ich dannach die CPAN Pakete noch mal nach-installiert:
perl -MCPAN -e shell
install Module::Install

perl -MCPAN -e shell
install CPAN::Meta

perl -MCPAN -e shell 
install App::cpanoutdated


Angezeigt wurden (und werden) CPAN:META immer noch nicht daher habe ich außerdem diese Datei angepasst:
nano /etc/sudoers.d/fhem

fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/cpanm *
fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/perl - App\:\:cpanminus


Zuerst wieder keine Änderung!

Bei einem RPi fehlte noch apt-get install libdb-dev und bei einem anderen zusätzlich noch
cpanm Pod::Perldoc
dannach konnte ich dann
cpan-outdated -p | cpanm
durchlaufen lassen, was sehr lange gedauert hat.

Zuerst wieder ohne Erfolg. ABER:




Als ich dann noch einmal:
apt-get update
apt-get upgrade
apt-get dist-upgrade

und
reboot
funktionierte es endlich:

Das Symbol steht endlich auf grün und der state auf up to date auch wenn intalled Perl noch immer error zeigt.
cpanminusVersion 1.7044
installedPerl error
outdatedPerl
check completed
perlVersion 5.028001
state up to date
updatesAvailablePerl 0



Ich hoffe bei Dir hilft auch irgendetwas.

Stephan27

Zitat von: SebastianStorb am 09 April 2021, 13:47:18...

Ich weiß, dass das Thema alt ist, aber ich muss jetzt einfach mal Danke für die "Anleitung" sagen, die du hier gegeben hast.
Ich habe heute schon über 3h an meiner FHEM Debian VM (nicht Container) gebastelt und wollte unbedingt den aus dem Container bekannten FHEM Installer zum Laufen bringen und nachdem ich mühevoll alle Abhängigkeiten installiert habe, ging leider immer noch nichts. Dank deines Posts, kann ich aber endlich auf das grüne Schild schauen und alles funktioniert wie es soll. Besten Dank dafür!