Node-red, je n'arrive pas à installer de module complémentaire

Bonjour,

je continue à avoir quelque souci avec Node-red. J’ai voulu installer le module dashboard de node-red et j’ai des erreurs.
J’ai bien autorisé l’import de module externe durant la commande node-red admin init
Je copie ci dessous la fin du log à partir de laquelle il y a des erreurs.
Même type d’erreur quand j’essaie d’installer d’autres modules.

47 verbose type system
48 verbose stack FetchError: request to https://registry.npmjs.org/node-red-dashboard failed, reason: connect EHOSTUNREACH 104.16.26.35:443
48 verbose stack at ClientRequest. (/usr/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)
48 verbose stack at ClientRequest.emit (node:events:513:28)
48 verbose stack at TLSSocket.socketErrorListener (node:_http_client:494:9)
48 verbose stack at TLSSocket.emit (node:events:525:35)
48 verbose stack at emitErrorNT (node:internal/streams/destroy:157:8)
48 verbose stack at emitErrorCloseNT (node:internal/streams/destroy:122:3)
48 verbose stack at processTicksAndRejections (node:internal/process/task_queues:83:21)
49 verbose cwd /home/pi
50 verbose Linux 6.1.21+
51 verbose node v16.20.0
52 verbose npm v8.19.4
53 error code EHOSTUNREACH
54 error syscall connect
55 error errno EHOSTUNREACH
56 error request to https://registry.npmjs.org/node-red-dashboard failed, reason: connect EHOSTUNREACH 104.16.26.35:443
57 verbose exit 1
58 timing npm Completed in 83979ms
59 verbose unfinished npm timer reify 1686854998014
60 verbose unfinished npm timer reify:loadTrees 1686854998249
61 verbose code 1
62 error A complete log of this run can be found in:
62 error /home/pi/.npm/_logs/2023-06-15T18_49_55_196Z-debug-0.log

Salut, tu aurais du utiliser, je crois, le même sujet, car le problème est identique.

Alors ton problème n’es pas du au OS et à la config de celui si, dans un réseau « normal ».

Normal dans le sens modem/gateway qui fait la connexion et les ordinateurs sur un routeur en partage.

Encore la ton système n’arrive pas a télécharger, car il ne peut pas retourner l’adresse demandé.

Alors tu va devoir débugger ton réseau. Si ton RPi ne peut pas accéder à internet, il ne peut pas télécharger les fichiers requis. Vérifie bien tes systèmes.

Assure toi de faire de « Traceroute » et des « ping » sur plusieurs hosts différents. Tu peux tomber sur des domaines qui seront alors bloqué, plus long ou retourne une information incompatible. Même si tu arrive a te connecter sur un site, peut être que d’autres son bloqués, ou en erreur du a un problème extérieur come un router, modem ou du fournisseur.

Vérifie sur le routeur/modem/« box »;

  • La présence de règle de filtrage d’URL,
  • Des règles de firewall,
  • Des règles de limitation d’accès, comme DMZ
  • Des règles de redirections de ports
  • Des séparations réseau

Les domaines que tu peux tester sont des fournisseur de service dans divers pays, comme; microsoft.com, facebook.com, yahoo.com, yahoo.fr, etc… l’idée serait de prendre plusieurs « routes » pour voir si ça coince. fait de même avec les domaine et IP que le script semble utiliser.

Le problème est du à ta configuration présente sur ton lieu, alors ont peut t’aider a interpréter tes trouvailles, mais tu devras tenter de trouver le problème par toi même en cherchant sur les appareils qui servent a configurer ton réseau et accéder à internet.

Hello,
oui, je m’en doutais un peu mais je n’étais pas sûr ; j’étais bien arrivé au constat que je devais avoir des problèmes liés à l’accès internet du Raspberry. Pour le moment « ping » « traceroute » m’évoquent des choses mais je ne maîtrise pas encore… je vais continuer à galérer mais cela va me permettre d’apprendre mais ce sera pour plus tard car absolument pas le temps pour le moment.
Merci, à plus

Ping

Faire un appel sur un domaine/ip et voir le temps de réponse.
ping google.com

Traceroute

Permet de voir les appareils par lequel une connexion passe. Si le chemin est arrêté, il est possible de déterminer la cause.
traceroute google.com

Il sera requis d’installer le logiciel; sudo apt traceroute


  • Si le ping retourne « timeout » ou « can’t reach the host », tu n’atteint pas Internet alors, ou que la connexion est bloqué par le router/gateway/« box ».

  • Si les paquets du ping sont perdus, ta connexion n’est pas stable (wifi, rarement filaire).

  • Si le traceroute stop avant la cible, et que le host est extérieur, le fournisseur d’accès internet et/ou réseau régional est en défaut, tu ne peu rient n’y faire, sauf changer de compagnie d’internet. Mais s’assurer par un autre client et/ou fournisseur qu’il est rejoignable.

Bonjour,
je viens de m’y remettre :
Je viens de faire les ping et traceroute et çà marche pour google, microsoft, facebook.
Si j’essaie les sites de téléchargement de module, ça marche en tapant le site, par contre j’ai une erreur si je mets l’adresse complète ou l’ID.

Je donne l’exemple avec l’adresse permettant de charger le module node-red dashboard

pi@raspberrypi:~ $ ping registry.npmjs.org
PING registry.npmjs.org(2606:4700::6810:1423 (2606:4700::6810:1423)) 56 data bytes
64 bytes from 2606:4700::6810:1423 (2606:4700::6810:1423): icmp_seq=1 ttl=55 time=16.3 ms
64 bytes from 2606:4700::6810:1423 (2606:4700::6810:1423): icmp_seq=2 ttl=55 time=19.7 ms
64 bytes from 2606:4700::6810:1423 (2606:4700::6810:1423): icmp_seq=3 ttl=55 time=19.1 ms
^C
registry.npmjs.org ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 16.288/18.345/19.652/1.472 ms

pi@raspberrypi:~ $ ping registry.npmjs.org/node-red-dashboard
ping: registry.npmjs.org/node-red-dashboard: Name or service not known

pi@raspberrypi:~ $ ping 104.16.26.35
PING 104.16.26.35 (104.16.26.35) 56(84) bytes of data.
From 192.168.0.53 icmp_seq=1 Destination Host Unreachable
From 192.168.0.53 icmp_seq=2 Destination Host Unreachable
From 192.168.0.53 icmp_seq=3 Destination Host Unreachable
^C
— 104.16.26.35 ping statistics —
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5190ms
pipe 3

pi@raspberrypi:~ $ ping 104.16.16.35:443
ping: 104.16.16.35:443: Name or service not known

pi@raspberrypi:~ $ traceroute registry.npmjs.org
traceroute to registry.npmjs.org (104.16.26.35), 30 hops max, 60 byte packets
1 192.168.0.53 (192.168.0.53) 3123.276 ms !H 3122.799 ms !H 3122.692 ms !H
pi@raspberrypi:~ $ traceroute registry.npmjs.org/node-red-dashboard
registry.npmjs.org/node-red-dashboard: Name or service not known
Cannot handle « host » cmdline arg `registry.npmjs.org/node-red-dashboard’ on position 1 (argc 1)
pi@raspberrypi:~ $ traceroute 104.16.26.35
traceroute to 104.16.26.35 (104.16.26.35), 30 hops max, 60 byte packets
1 192.168.0.53 (192.168.0.53) 3126.545 ms !H 3126.096 ms !H 3125.987 ms !H
pi@raspberrypi:~ $ traceroute facebook.com
traceroute to facebook.com (185.60.219.35), 30 hops max, 60 byte packets
1 192.168.0.53 (192.168.0.53) 3093.061 ms !H 3092.601 ms !H 3092.487 ms !H

J’imagine qu’il y a des syntaxes qui ne sont pas valides et qu’il est normal d’avoir des erreurs.
J’ai regardé les paramètres de ma box, je n’y ai jamais fait grand chose de particulier si ce n’est de réduire la plage d’adresse du DHCP pour définir des IP statiques notamment pour le RPi

Normal que ça ne marche pas, le ping c’est juste pour un domaine ou un IP, pas une adresse web. Tu ne peux pas non plus définir le port.

Ok, tu as une adresse IP, c’est une demande valide, et il n’y a pas de route pour la destination. ET elle devrait marcher.

PS C:\Windows\system32> ping 104.16.26.35

Envoi d’une requête 'Ping'  104.16.26.35 avec 32 octets de données :
Réponse de 104.16.26.35 : octets=32 temps=14 ms TTL=60
Réponse de 104.16.26.35 : octets=32 temps=14 ms TTL=60
Réponse de 104.16.26.35 : octets=32 temps=15 ms TTL=60

Statistiques Ping pour 104.16.26.35:
    Paquets : envoyés = 3, reçus = 3, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
    Minimum = 14ms, Maximum = 15ms, Moyenne = 14ms
Ctrl+C

(tu peux tester toi aussi avec le Powershell ou L’invite de commande sous Windows)

Alors donne moi le traceroute pour ce ip depuis ton Raspberry Pi.
traceroute 104.16.26.35

Bonjour,
vérification faite ping 104.16.26.35 fonctionne depuis mon pc sous l’invite de commande mais ne fonctionne pas depuis le raspberry et voici ce que donne le traceroute depuis pi :

pi@raspberrypi:~ $ traceroute 104.16.26.35
traceroute to 104.16.26.35 (104.16.26.35), 30 hops max, 60 byte packets
1 192.168.0.53 (192.168.0.53) 3127.791 ms !H 3127.318 ms !H 3127.197 ms !H
pi@raspberrypi:~ $

Et j’avoue que je suis un peu perdu, c’est bien RPi qui a du mal à aller sur certains sites web alors que le pc branché sur le même bureau s’en sort ???

Tu as un sérieux problème de réseau à la maison, et c’est ça qui te cause tout tes problèmes.

Ton Raspberry Pi n’arrive pas a communiquer avec Internet. Comme si ton routeur/box/gateway ne fournissait pas de réponse aux demandes de connexion. Ton traceroute ne sort même pas du RPi., il stop a la « porte » du RPi (1 hop).

Alors ton PC lui n’a aucun problème réseau. Faudra débugger tout ton réseau pour comprendre ce qui ce passe.

Je ne crois pas que mon Pi n’arrive jamais à communiquer avec internet sinon on aurait cherché à régler cela au début ; il y arrive pour certaine chose :

sudo apt-get update ou upgrade s’exécute sans erreur et des ping ont foncctionné+

Bonjour,
Il communique en IPV6 mais est-ce qu’il communique en IPV4 ?

michel@RASPI-40:~ $ ping6 -c 3 registry.npmjs.org
PING registry.npmjs.org(2606:4700::6810:1723 (2606:4700::6810:1723)) 56 data bytes
64 bytes from 2606:4700::6810:1723 (2606:4700::6810:1723): icmp_seq=1 ttl=55 time=3.35 ms
64 bytes from 2606:4700::6810:1723 (2606:4700::6810:1723): icmp_seq=2 ttl=55 time=3.76 ms
64 bytes from 2606:4700::6810:1723 (2606:4700::6810:1723): icmp_seq=3 ttl=55 time=3.52 ms

registry.npmjs.org ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 3.353/3.544/3.759/0.166 ms
michel@RASPI-40:~ $ ping4 -c 3 registry.npmjs.org
PING (104.16.19.35) 56(84) bytes of data.
64 bytes from 104.16.19.35 (104.16.19.35): icmp_seq=1 ttl=57 time=3.93 ms
64 bytes from 104.16.19.35 (104.16.19.35): icmp_seq=2 ttl=57 time=3.28 ms
64 bytes from 104.16.19.35 (104.16.19.35): icmp_seq=3 ttl=57 time=3.76 ms

— ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 3.283/3.659/3.931/0.274 ms

Comment est ce que je vois cela ?

ping4 -c 3 registry.npmjs.org

Non, ça n’a pas l’air d’aller :
pi@raspberrypi:~ $ ping4 -c 3 registry.npmjs.org
PING (104.16.22.35) 56(84) bytes of data.
From 192.168.0.53 (192.168.0.53) icmp_seq=1 Destination Host Unreachable
From 192.168.0.53 (192.168.0.53) icmp_seq=2 Destination Host Unreachable
From 192.168.0.53 (192.168.0.53) icmp_seq=3 Destination Host Unreachable

— ping statistics —
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2061ms
pipe 3

Je fais un point sur mon problème, je n’arrivais pas à installer node-red sur mon pi ZeroW.
Après pas mal de tentatives et l’aide précieuse de levelKro, j’ai jeté l’éponge et levelKro a eu la gentillesse de me faire une image de l’os avec node-red mais je n’ai fait que déplacer le problème car je ne peux pas charger de modules complémentaires de node-red ; mon RPi il n’accède pas à l’adresse de téléchargement sur registry.npmjs.org.

Je me pose une question sur ma config du fichier dhcpcd.conf ; je l’ai modifié pour donner une adresse statique wifi (c’est un pi zero, seulement du wifi) qui me permet de prendre la main depuis le PC (opérationnel) ; l’ai je bien fait ? Je vois qu’il y a des options que je ne comprends pas … le problème pourrait il venir de là ?
Je copie une partie du fichier dhcpcd.conf, j’ai enlevé quelques lignes de commentaires

pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf
GNU nano 5.4 /etc/dhcpcd.conf
#Inform the DHCP server of our hostname for DDNS.
hostname

#Use the hardware address of the interface for the Client ID.
clientid
#Persist interface configuration when dhcpcd exits.
persistent

#Rapid commit support.
option rapid_commit

#A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
#Respect the network MTU. This is applied to DHCP routes.
option interface_mtu

#Most distributions have NTP support.
#option ntp_servers

#A ServerID is required by RFC2131.
require dhcp_server_identifier

#Generate SLAAC address using the Hardware Address of the interface
#slaac hwaddr
#OR generate Stable Private IPv6 Addresses based from the DUID
slaac private

#Example static IP configuration:
interface wlan0
static ip_address=192.168.0.53/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

#It is possible to fall back to a static IP if DHCP fails:
#define static profile
#profile static_eth0
#static ip_address=192.168.1.23/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1

#fallback to static profile on eth0

Ok, je viens de saisir que ping4 permet de tester l’IPv4 et il semble bien y avoir ce problème :

  • ping fonctionne
  • ping4 ne fonctionne pas

pi@raspberrypi:~ $ ping google.com
PING google.com(par10s40-in-x0e.1e100.net (2a00:1450:4007:80b::200e)) 56 data bytes
64 bytes from par10s40-in-x0e.1e100.net (2a00:1450:4007:80b::200e): icmp_seq=1 ttl=119 time=13.9 ms
64 bytes from par10s40-in-x0e.1e100.net (2a00:1450:4007:80b::200e): icmp_seq=2 ttl=119 time=17.4 ms
64 bytes from par10s40-in-x0e.1e100.net (2a00:1450:4007:80b::200e): icmp_seq=3 ttl=119 time=17.0 ms
64 bytes from par10s40-in-x0e.1e100.net (2a00:1450:4007:80b::200e): icmp_seq=4 ttl=119 time=16.9 ms
^C
google.com ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 13.930/16.305/17.400/1.384 ms
pi@raspberrypi:~ $ ping4 -c 3 google.com
PING (216.58.214.174) 56(84) bytes of data.
From 192.168.0.53 (192.168.0.53) icmp_seq=1 Destination Host Unreachable
From 192.168.0.53 (192.168.0.53) icmp_seq=2 Destination Host Unreachable
From 192.168.0.53 (192.168.0.53) icmp_seq=3 Destination Host Unreachable

— ping statistics —
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2061ms
pipe 3

Bon, il semble que j’ai trouvé une solution.
J’ai remis les déclarations d’IP statique en commentaires dans dhcpcd.conf et j’ai demandé à ma box de conserver un bail fixe pour mon Rpi ; résultat, j’arrive à ping4 et à installer mes modules node-red ; ouf.
Si quelqu’un comprend l’erreur que j’ai faite sur la config de mon dhcpcd je suis preneur.
Un grand merci à vous, mention spéciale à kelKro pour le temps passé et à Mik91390 de m’avoir mis sur la bonne voie.

Le IPv6 es une m***e. Quand il est actif sur un réseau/système, il tente toujours d’utiliser un IPv6 au lieu du IPv4, et ça peut bugger. J’avais pas parlé de ce fait car, le problème le plus courant est un problème de l’utilisation du IPv6 sans problème pour le IPv4. J’avais remarqué que l’adresse IPv6 testé avait passé, mais vu que c’était dans l’autre sens le problème, j’ai passé par dessus ce point.

Mettre en « dur » dans le resolv.conf ou dhcp.conf des infos peuvent en effet aider. Mais assure toi de garder les IP associé aux domaines (internet) sont à jour, car certains service, comme google, change de IP par région et surcharge du réseau.

Si tu peux, configure tout ton réseau en « DUR » (satic) et désactive le IPv6, qui est loin d’être implanté et d’être un standard. Moi je configure tout mon réseau comme tel avec des branche de IP par type d’appareil…


Pour te donner une idée, c’est un script monitoring que je me suis fait pour voir mes appareils sur le réseau.

Il semblerait que mon problème vienne bien de ma config dhcp : j’avais déclaré un IP statique mais je n’avais pas défini de DNS statique ; j’ai tout réinstallé par moi même et l’installation de node-red fonctionne.
Bref beaucoup de perte de temps pour pas grand chose, erreur de débutant que je suis. Merci encore à tous les deux.