Journal Raaahhh npm!

Posté par  . Licence CC By‑SA.
Étiquettes :
3
22
oct.
2019

Journal pour râler : nodejs a disparu de debian 9 en i386 (aka 32 bits) dans l'année, sans que j'arrive à trouver la moindre trace d'annonce.

Je n'arrivais pas à trouver npm dans un container docker après l'installation de nodejs. C'est en fouillant https://deb.nodesource.com/node_10.x/dists/jessie/main/binary-i386/ que je découvre que packages est vide…

Alors quoi, j'ai rien compris à nodejs?

  • # Passage en maintenance

    Posté par  . Évalué à 1.

    Cette semaine (hier en fait), Node 12 est passé en LTS (Long Terme Support), donc Node 10 passe en maintenance. Pour plus de détails, voir le graphique fourni par NodeJS.
    La disparition est sûrement liée : NodeSource maintient les dépôts que tu utilises donc a potentiellement supprimé la 10 qui n'est plus LTS. À vérifier.

    À mon avis c'est plutôt un bug le temps d'une mise-à-jour ou autre.

    • [^] # Re: Passage en maintenance

      Posté par  (site web personnel) . Évalué à 3. Dernière modification le 22 octobre 2019 à 13:17.

      Node 12 est passé en LTS (Long Terme Support), donc Node 10 passe en maintenance.

      Ton lien dit :
      v12 Active LTS 2019-10-21
      v10 Active LTS 2018-10-30, Maintenance LTS 2020-04-01

      Donc pas cohérent avec ce que tu dis (10 et 12 sont marquée Active LTS en même temps).

      • [^] # Re: Passage en maintenance

        Posté par  . Évalué à 2.

        Tout-à-fait, j'ai tendance à considérer que lorsqu'une nouvelle LTS arrive, l'ancienne passe rapidement à la trappe. Donc oui, si c'est à cause de ça, le package de la 10 aurait dû rester au moins jusqu'à la semaine prochaine.
        Mea culpa, mes excuses pour la déformation.

        • [^] # Re: Passage en maintenance

          Posté par  . Évalué à 4. Dernière modification le 22 octobre 2019 à 14:21.

          au moins jusqu'à la semaine prochaine

          pouruuoi la semaine prochaine? il y a marqué que c'est actif jusqu'en avril 2020

          • [^] # Re: Passage en maintenance

            Posté par  . Évalué à 1.

            Oula oui, j'ai pris le "active LTS start", j'ai s/active/stop/ et j'ai s/2018/2019/. Décidément …
            Bon d'après les commentaires plus bas, seuls les packages 32 bits sont affectés donc il semblerait que la raison soit plutôt une maintenance des paquets 64 bits seulement.

    • [^] # Re: Passage en maintenance

      Posté par  . Évalué à 7.

      À mon avis c'est plutôt un bug le temps d'une mise-à-jour ou autre.

      C'est toujours une mauvaise idée d'effacer la version précédente avant de diffuser la nouvelle… que font les systèmes en production avec ça?

      Pour ma part, ça m'a refroidi sur l'utilisation de nodejs…

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

      • [^] # Re: Passage en maintenance

        Posté par  . Évalué à 2.

        J'utilise énormément NodeJs justement, et c'est une des choses que je lui reproche le plus : ça bouge tout le temps. Le langage JavaScript (enfin sa norme EcmaScript) évolue très vite, du coup il faut suivre.
        Mais bon, comme on utilise généralement du Docker là où je travaille, on a toujours la "sûreté" d'avoir nos images quelques part avec la version qui va bien.

  • # Disparu ?

    Posté par  . Évalué à 1. Dernière modification le 22 octobre 2019 à 16:23.

    Commentaire édité car HS, je parlais de npm et non de nodejs.

  • # plus de paquets 32 bits ?

    Posté par  . Évalué à 3.

    C'est en fouillant https://deb.nodesource.com/node_10.x/dists/jessie/main/binary-i386/ que je découvre que packages est vide…

    C'est pas le cas pour https://deb.nodesource.com/node_10.x/dists/jessie/main/binary-amd64/

    En regardant les autres versions de nodejs ou debian, il semblerait que tous les i386 soient vides.

  • # npm/nodejs dans Debian

    Posté par  . Évalué à 4. Dernière modification le 22 octobre 2019 à 17:14.

    Journal pour râler : nodejs a disparu de debian 9 en i386 (aka 32 bits)

    Quand je vais sur le repo officiel de Debian, je vois bien une version nodejs i386.

    Je n'arrivais pas à trouver npm dans un container docker après l'installation de nodejs

    Le binaire npm est fourni par le paquet npm, qui est indépendant de l'architecture, mais qui dépend du paquet nodejs cité précédemment.

    note : J'ai pris stable, mais c'est pareil pour les autres version.

    EDIT : Ok j'ai compris, tu parlais des paquets Debian fournis par Nodejs. Bon du coup ma réponse est un peu HS.

    Mais ça me conforte dans mon idée de limiter autant que possible l'utilisation de repos (voire de logiciels) externes à la distribution.

    • [^] # Re: npm/nodejs dans Debian

      Posté par  (site web personnel) . Évalué à 1.

      Malheureusement la version de Node.js dans Debian Jessie est la 0.10 qui n'est plus supporté depuis Octobre 2016.

      Cela pose 2 problèmes:

      • La version Debian dépend de libv8-3.14 qui n'est pas supportée par l'équipe de sécurité
      • La plupart des applications on besoin d'une version plus à jour de Node.js pour tourner,
      • [^] # Re: npm/nodejs dans Debian

        Posté par  . Évalué à 5.

        Au final, est-ce vraiment pertinent de la part de Debian de proposer Node (ou n'importe quelle techo qui évolue vite, Angular par exemple…) dans ses dépôts alors même que c'est une distribution globalement figée ?

        La majeure partie des morts l'était déjà de son vivant et le jour venu, ils n'ont pas senti la différence.

        • [^] # Re: npm/nodejs dans Debian

          Posté par  . Évalué à 1.

          Il me semble que c'est typiquement le genre de logiciels qui devrait être fournit en flatpak de base

        • [^] # Re: npm/nodejs dans Debian

          Posté par  (site web personnel) . Évalué à 9.

          Pour te donner un début de réponse (je suis dans la team js de Debian), le but est aussi de fournir des paquets javascript permettant de construire d'autres paquets Debian.

          La politique de Debian (et probablement des autres distribs) est de ne pas dépendre de dépôts externes à la distrib quand on fabrique un paquet.
          Ca permet de pouvoir construire un paquet même dans 232 ans, quand les repos npm auront disparu sous la croûte terrestre mais que les paquets Debian seront toujours quelque part dans le coin d'un disque dur d'un barbu qui voudra pas migrer toute sa stack, juste recompiler pour sa nouvelle architecture.

          Certes les paquets npm changent tous les matins, mais si un mainteneur Debian veut packager une application qui a des dépendances en libraries javascript (ex: GitLab: https://salsa.debian.org/ruby-team/gitlab/blob/master/debian/control, il ne s'occupe de packager qu'une version précise de l'application et ses dépendances, et n'est pas obligé de mettre à jour les dépendances à chaque nouvelle release, seulement quand il en a besoin.

          Quand le mainteneur du paquet veut maintenir une nouvelle version, il met à jour les dépendances javascript si c'est nécessaire.

          D'où l'importance des paquets javascript et npm dans Debian.

          À coté de ca, Debian propose un paquet npm qui fait du npm comme prévu, en allant taper dans npm.js les dépendances en cascade quand tu fais un npm install.

        • [^] # Re: npm/nodejs dans Debian

          Posté par  (site web personnel, Mastodon) . Évalué à 4.

          Il y en a besoin pour l'interface web de buildbot, par exemple. Donc si tu veux buildbot dans Debian, il y a besoin d'avoir nodejs.

          Donc, si tu es développeur nodejs, non, la version dans Debian ne va pas te servir beaucoup. Mais si tu es utilisateur d'applis écrites avec, alors oui, c'est utile de l'avoir.

        • [^] # Re: npm/nodejs dans Debian

          Posté par  (site web personnel) . Évalué à 5.

          Oui. Pour moi les distribs DOIVENT empaqueter les runtimes.

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

  • # Debian 9 != jessie

    Posté par  . Évalué à 6.

    Oui, alors je ne sais pas si c'est pertinent, mais Debian 9, c'est Stretch, pas Jessie.

    Je précise que je n'ai pas la science infuse, j'ai dû aller sur Wikipédia pour vérifier :)

  • # i386?

    Posté par  . Évalué à 5.

    Pourquoi tu fait encore tourner du 32 bits sur x86, quans Intel/amd ne vendent que du 64 bits depuis 10 a 15 ans, et que Linux fait du 64 bits depuis aussi longtemps?

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

    • [^] # Re: i386?

      Posté par  (site web personnel) . Évalué à 4. Dernière modification le 23 octobre 2019 à 12:06.

      Perso j'ai toujours des gens qui veulent la dernière version de mon logiciel principal sous un WinXP 32-bit (18 ans d'âge, plus vendu depuis 10 ans), des fois il faut juste ne pas chercher à comprendre les gens voulant des dernières versions de logiciel sur du vieux matos/OS et faire avec.

      • [^] # Re: i386?

        Posté par  . Évalué à 7.

        ok, mais win xp 64 bits a ete très peu distribue, et la version 32 bits est un os quasiment impossible a tuer.
        Ce que tu dit reviens en fait a dire "des gens veulent mon soft sur l'os le plus distribué/utilisé et indéboulonnable de l'histoire de l'humanité^W^W informatique".
        Je comprends ca. Le mec il a xp au boulot parce que "raison a la con", et il veut media info.

        Pourquoi tu voudrais une technologie serveur aussi récente que nodejs spécifiquement en 32 bits sur un os qui a un support 64 bits natif depuis avant que la technologie a ete crée, je comprends pas trop par contre.
        Qui en pratique fait tourner un os serveur suffisamment recent pour faire tourner nodejs 10, mais sur un kernel x86 32 bits?

        Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • # Fin du support i386

    Posté par  (site web personnel) . Évalué à 10.

    L’architecture i386 n’est plus supporté depuis Node.js 10.x (voir discussion)

    Tu as donc 3 solutions:
    - Utiliser Node.js 8.x qui est supporté jusqu’à la fin de l’année
    - Utiliser une distribution 64 bits
    - Utiliser https://unofficial-builds.nodejs.org/

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.