NodeJS 12 - Migration

Coucou @nebz je n’avais pas vu cette discussion, on change version ? La discussion date de 2019, je suis un peu perdu, on passe en quelle version ? je change quand vous me dites.
Merci pour ton suivi

Hello oui la 20, la discussion a évolué faut regarder vers la fin :wink:

Merci @nebz
Sur la lib d’appollon fallait passer à 16 de toutes facons
image

On était déjà en 16 :wink: la on passerait en 20

Exact, je cherchais, c’est bien cette ligne :
installVer='16' #NodeJS major version to be installed

Je mets 20 au lieu de 16 et le relance la mise à jour des dépendances ?
Un date approximative de lancement ?
Je teste mon code d’ici là.

Vers le 30

1 « J'aime »

Je n’installe plus nodejs dans mes plugins depuis longtemps, au core de gérer la version. Ca serait bien que le rythme suive aussi pour les releases Debian.

oui mais ça n’empèche pas de vérifier que ton code fonctionne toujours en v20…

1 « J'aime »

Bonjour à tous,

apparemment il y a non compatibilité entre nodejs 20 et buster : Node-red will not install. GLIBCXX_3.4.26 not found - Troubleshooting - DietPi Community Forum

J’ai essayé sur un raspberry pi et j’ai ce message d’erreur :

node: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26’ not found (required by node)

cela risque de poser pas mal de problèmes si les utilisateurs sont encore en buster

Pas de prob pour 18 ?

Bien vu !!

Je viens d’essayer, cela fonctionne parfaitement

1 « J'aime »

je suis en bullseye minimum donc j’avais pas vu…

on conviendrait la 18 alors tant que buster n’est pas écarté de jeedom.

1 « J'aime »

18 ?! ok
Je prends note

C’est bon pour moi sur la V18. J’étais déjà en V16 la migration n’a pas été douloureuse.

Bon pour me simplifier le travail je vais essayer d’utiliser l’installation des dépendances par le core.
J’ai regardé divers plugins et j’ai fait çà
Un fichier plugin_info/packages.json

{
  "apt":{
    "nodejs" : {}
  },
  "npm" : {
      "plugins/elmtouch/resources": {}
  }
}

Un fichier resources/package.json

{
   "name": "jeedom_elmtouch",
   "version": "0.0.1",
   "description": "Node to connect Nefit Easy Http Server to Jeedom",
   "license": "GPL-3.0",
   "repository": "npm/npm",
   "dependencies": {
      "nefit-easy-http-server": "latest"
   }
}

Mais nulle part dans le log je ne vois mention de nefit-easy-http-server

+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_elmtouch
+ echo 1
+ echo 2
+ sudo chmod +x /var/www/html/core/class/../../resources/install_nodejs.sh
+ sudo /var/www/html/core/class/../../resources/install_nodejs.sh
Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://ftp.fr.debian.org/debian buster InRelease
Hit:3 http://ftp.fr.debian.org/debian buster-updates InRelease
Get:4 https://deb.nodesource.com/node_16.x buster InRelease [4584 B]
Fetched 4584 B in 0s (12.1 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
apt-utils is already the newest version (1.8.2.3).
build-essential is already the newest version (12.6).
lsb-release is already the newest version (10.2019051400).
git is already the newest version (1:2.20.1-2+deb10u8).
The following packages were automatically installed and are no longer required:
libhttp-parser2.8 libstd-rust-1.41 libstd-rust-dev rust-gdb
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
[Check Version NodeJS actuelle : v16.17.0 : [  OK  ]
[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
+ echo 3
+ sudo chmod +x /var/www/html/core/class/../../resources/install_nodejs.sh
+ sudo /var/www/html/core/class/../../resources/install_nodejs.sh
Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://ftp.fr.debian.org/debian buster InRelease
Hit:3 http://ftp.fr.debian.org/debian buster-updates InRelease
Get:4 https://deb.nodesource.com/node_16.x buster InRelease [4584 B]
Fetched 4584 B in 0s (10.7 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
apt-utils is already the newest version (1.8.2.3).
build-essential is already the newest version (12.6).
lsb-release is already the newest version (10.2019051400).
git is already the newest version (1:2.20.1-2+deb10u8).
The following packages were automatically installed and are no longer required:
libhttp-parser2.8 libstd-rust-1.41 libstd-rust-dev rust-gdb
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
[Check Version NodeJS actuelle : v16.17.0 : [  OK  ]
[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
+ echo 4
+ cd /var/www/html/core/class/../../plugins/elmtouch/resources
+ rm -rf node_modules
+ sudo npm install
npm WARN deprecated node-xmpp-tls-connect@1.0.1: this package is deprecated please use https://github.com/xmppjs/xmpp.js
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated node-xmpp-core@5.0.9: this package is deprecated please use https://github.com/xmppjs/xmpp.js
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated node-xmpp-client@3.2.0: this package is deprecated please use https://www.npmjs.com/package/@xmpp/client
added 149 packages, and audited 150 packages in 10s
10 packages are looking for funding
run `npm fund` for details
6 moderate severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
+ chown -R www-data:www-data node_modules package-lock.json package.json
+ echo 5
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end elmtouch
+ rm /tmp/jeedom_install_in_progress_elmtouch
+ echo '*******************End of package installation******************'
*******************End of package installation******************

Je dois avoir loupé quelque chose ?

Petit rappel, c’est aujourd’hui qu’on passe en NodeJS 18 ! tous mes plugins sont migrés, @Loic tu t’occupes du core ?

Salut

Tu crois tu peux faire un pr et je le valide ? Je suis en weekend en famille avec juste un téléphone pas sûr de pouvoir faire les modifications sans tout casser

ok, sur quelle branch ?

La alpha et la v4-stable et je ferais un mètre en bêta de l’alpha comme ça ça sera partout

voilà les PR sont fait sur v4-stable et alpha, j’en ai profité pour mettre à jour les numéros de version fixés pour armv6l.

l’idéal serait de forcer la relance des dépendances des plugins concernés…