1. Foren
  2. Kommentare
  3. OpenSource
  4. Alle Kommentare zum Artikel
  5. › Error 418: NPM liefert Fehler "Ich…

NPM ist für Amateure

  1. Thema

Neues Thema Ansicht wechseln


  1. NPM ist für Amateure

    Autor: johnero 29.05.18 - 20:07

    Die Codequalität bei NPM-Packages ist katastrophal schlecht. Mini-packages mit 100 LOCs haben hunderte dependencies und brauchen hunderte MBs/GBs auf der Festplatte sowie eine sechsstellige Anzahl der Dateien.

    Man kann eine Package löschen und die Halfte der NPM-Restistry einfach kaputt machen, kein Problem:
    https://qz.com/646467/how-one-programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code/

    Wenn man eine Backdoor in NPM einbauen will, gibt es nichts einfacheres:
    https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5

    "Break things" ist das Motto von NPM. Man muss bei allen Packeten jeden Monat alles anpassen Z.B. ich weiß nicht mehr wie viel Mal habe ich mein Webpack-Config anpassen musste, weil da die ganze Zeit was geändert wird.

  2. Re: NPM ist für Amateure

    Autor: Webster23 29.05.18 - 20:21

    Wenn NPM für Amateure ist, welchen JS Package Manager benutzen dann Profis?

  3. Re: NPM ist für Amateure

    Autor: flow77 29.05.18 - 21:23

    johnero schrieb:
    --------------------------------------------------------------------------------
    > Die Codequalität bei NPM-Packages ist katastrophal schlecht. Mini-packages
    > mit 100 LOCs haben hunderte dependencies und brauchen hunderte MBs/GBs auf
    > der Festplatte sowie eine sechsstellige Anzahl der Dateien.
    >
    > Man kann eine Package löschen und die Halfte der NPM-Restistry einfach
    > kaputt machen, kein Problem:
    > qz.com
    >
    > Wenn man eine Backdoor in NPM einbauen will, gibt es nichts einfacheres:
    > hackernoon.com
    >
    > "Break things" ist das Motto von NPM. Man muss bei allen Packeten jeden
    > Monat alles anpassen Z.B. ich weiß nicht mehr wie viel Mal habe ich mein
    > Webpack-Config anpassen musste, weil da die ganze Zeit was geändert wird.

    Warum keine fixen Versionsnummern in der Package-Config? Tags werden ja wohl eher nicht nachträglich verändert. Das lock-file sollte man dann auch gleich einchecken, sofern mehrere Leute an dem Code arbeiten. Dann sollte es definitiv keine Problem geben. Das Vorgehen wird auch von den Composer-Machern so empfohlen, ich gehe davon aus das es bei npm ähnlich ist.

    Aber ich gebe dir insofern recht, die Dependencies die da teilweise aufgelöst werden sind wirklich beängstigend. Es fehlt aber leider an Alternativen.

  4. Re: NPM ist für Amateure

    Autor: Anonymer Nutzer 29.05.18 - 21:45

    flow77 schrieb:
    --------------------------------------------------------------------------------
    > Es fehlt aber leider an
    > Alternativen.

    ich hab grade berufsbedingt mit javascript angefangen, und habe das gefühl das npm (was ich nicht benutze, nur schon davon gelesen) nur eine auswirkung des grundlegenden problems ist, dass es für *javascript* keine alternative gibt.

    so eine dreckige sprache hab ich seit meinen perl-zeiten nicht mehr gesehen.

  5. Re: NPM ist für Amateure

    Autor: Arkarit 29.05.18 - 22:25

    LiPo schrieb:
    --------------------------------------------------------------------------------
    > flow77 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Es fehlt aber leider an
    > > Alternativen.
    >
    > ich hab grade berufsbedingt mit javascript angefangen, und habe das gefühl
    > das npm (was ich nicht benutze, nur schon davon gelesen) nur eine
    > auswirkung des grundlegenden problems ist, dass es für *javascript* keine
    > alternative gibt.
    >
    > so eine dreckige sprache hab ich seit meinen perl-zeiten nicht mehr
    > gesehen.

    Macht doch nix... solange man sie dazu nutzt, wozu sie einst gedacht war. Dreckige, einzeln stehende kleine Schnipselchen.

    Dafür, dass man mittlerweile Atomkraftwerke mit ihr steuern will, kann die Sprache ja nichts :)

  6. Re: NPM ist für Amateure

    Autor: flow77 29.05.18 - 22:54

    LiPo schrieb:
    --------------------------------------------------------------------------------
    > flow77 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Es fehlt aber leider an
    > > Alternativen.
    >
    > ich hab grade berufsbedingt mit javascript angefangen, und habe das gefühl
    > das npm (was ich nicht benutze, nur schon davon gelesen) nur eine
    > auswirkung des grundlegenden problems ist, dass es für *javascript* keine
    > alternative gibt.

    Möchte dich jetzt wirklich nicht blöd anmachen, aber ich weiß nicht ob man mit, offensichtlich nur etwas Erfahrung in Javascript überhaupt mitreden sollte. "Berufsbedingt mit JS angefangen, von npm nur gelesen" klingt ziemlich nach keine Ahnung. Zudem es ja so Dinge wie Typescript gibt.

    > so eine dreckige sprache hab ich seit meinen perl-zeiten nicht mehr
    > gesehen.

    Verstehe ich nicht. Jede Sprache hat ja irgendwie ihren Zweck. Warum Perl dreckig sein soll kann ich nicht nachvollziehen. Ich habe jedenfalls keine schlechten Erinnerungen an meine Perl-Zeiten.

  7. Re: NPM ist für Amateure

    Autor: zZz 29.05.18 - 23:20

    johnero schrieb:
    --------------------------------------------------------------------------------
    > Die Codequalität bei NPM-Packages ist katastrophal schlecht

    Schlechte Codequalität findest Du überall, da kann kein Package Manager der Welt was dafür.

    > Man kann eine Package löschen und die Halfte der NPM-Restistry einfach
    > kaputt machen, kein Problem

    Das geht schon lange nicht mehr. Packages können innerhalb von 24 gelöscht werden, danach nicht mehr.

  8. Re: NPM ist für Amateure

    Autor: Anonymer Nutzer 30.05.18 - 07:06

    johnero schrieb:
    --------------------------------------------------------------------------------
    > Die Codequalität bei NPM-Packages ist katastrophal schlecht. Mini-packages
    > mit 100 LOCs haben hunderte dependencies und brauchen hunderte MBs/GBs auf
    > der Festplatte sowie eine sechsstellige Anzahl der Dateien.
    >
    > Man kann eine Package löschen und die Halfte der NPM-Restistry einfach
    > kaputt machen, kein Problem:
    > qz.com
    >
    > Wenn man eine Backdoor in NPM einbauen will, gibt es nichts einfacheres:
    > hackernoon.com
    >
    > "Break things" ist das Motto von NPM. Man muss bei allen Packeten jeden
    > Monat alles anpassen Z.B. ich weiß nicht mehr wie viel Mal habe ich mein
    > Webpack-Config anpassen musste, weil da die ganze Zeit was geändert wird.


    Puh, also wenn du webpack verwendet hast, wundert mich deine Einstellung zu npm nicht. Der Fehler trat ja nur bei Leuten auf, die hinter nem proxy hängen und bei denen der port angehängt wurde. War dann auch schnell gefixt.

    Der Link mit registry kaputt machen, bezieht sich eher darauf, dass man auf jeder Seite, Daten sammeln könnte, wenn man wollte. Kann man so gesehen dann auch ohne node.js bzw. npm in jeder 3rd party lib einbauen. Oder machst du bei jeder Version ein vollständiges Audit??

    Der richtige Weg ist imho, selber zu coden und nicht für jede Kleinigkeit irgendwelche 3rd party tools einbinden. Da kommt dann gerne der Spruch "Man braucht das Rad nicht neu zu erfinden" - Meist von denen die nicht in der Lage sind die einfachsten Dinge selber umzusetzen und sich lieber ein Programmiermodell aufzwingen lassen, dass ein Projekt zu 100% Abhängig von anderen Frameworks macht.

    Mit npm haben die von dir genannten Beispiele eigentlich nichts zu tun. Der Einsatzzweck ist entscheidend..

  9. Re: NPM ist für Amateure

    Autor: non_existent 30.05.18 - 09:33

    Webster23 schrieb:
    --------------------------------------------------------------------------------
    > Wenn NPM für Amateure ist, welchen JS Package Manager benutzen dann Profis?

    Profis benutzen kein JS. Das ist eine widerliche Sprache, die alles falsch macht, was man falsch machen kann und sich absolut nicht verbessert. PHP ist auch Rotz, aber mit PHP 7.0 wird da wenigstens ordentlich etwas gut gemacht. JS ist immer noch so ein Misthaufen wie damals.

    Ich will hier bei Gott niemanden diskriminieren oder den Gatekeeper spielen, aber Leute, die JS entwickeln, sind für mich keine Profis.

  10. Re: NPM ist für Amateure

    Autor: bernd71 30.05.18 - 11:02

    non_existent schrieb:
    --------------------------------------------------------------------------------
    > Webster23 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Wenn NPM für Amateure ist, welchen JS Package Manager benutzen dann
    > Profis?
    >
    > Profis benutzen kein JS. Das ist eine widerliche Sprache, die alles falsch
    > macht, was man falsch machen kann und sich absolut nicht verbessert. PHP
    > ist auch Rotz, aber mit PHP 7.0 wird da wenigstens ordentlich etwas gut
    > gemacht. JS ist immer noch so ein Misthaufen wie damals.
    >
    > Ich will hier bei Gott niemanden diskriminieren oder den Gatekeeper
    > spielen, aber Leute, die JS entwickeln, sind für mich keine Profis.

    Leute die mit JavaScript keinen vernünftigem Code schreiben können sind für mich keine Profis. ;)

    Es ist weiß Gott nicht alles toll in der JavaScript/node.js Welt aber das derartige verteufeln finde ich schon lustig. Man sollte es halt an den passenden Stellen einsetzen.

  11. Re: NPM ist für Amateure

    Autor: Anonymer Nutzer 30.05.18 - 12:56

    flow77 schrieb:
    --------------------------------------------------------------------------------
    > Verstehe ich nicht. Jede Sprache hat ja irgendwie ihren Zweck. Warum Perl
    > dreckig sein soll kann ich nicht nachvollziehen. Ich habe jedenfalls keine
    > schlechten Erinnerungen an meine Perl-Zeiten.

    https://media.ccc.de/v/31c3_-_6243_-_en_-_saal_1_-_201412292200_-_the_perl_jam_exploiting_a_20_year-old_vulnerability_-_netanel_rubin
    https://media.ccc.de/v/32c3-7130-the_perl_jam_2

    Lohnt :-)

  12. Re: NPM ist für Amateure

    Autor: bccc1 30.05.18 - 16:07

    krawatte schrieb:
    --------------------------------------------------------------------------------
    > Puh, also wenn du webpack verwendet hast, wundert mich deine Einstellung zu npm nicht.

    Ich nutz die Gelegenheit mal für die Frage was du empfielst. Ich hab hobbymäßig angefangen Userscripts für Tampermonkey u.ä. zu schreiben und brauchte irgendeinen bundler und bin nach einiger Verzweiflung mit webpack bei FuseBox gelandet. Vorher hatte ich kein Kontakt zu Node und npm oder js überhaupt. Daher würde mich eine Einschätzung interessieren ob ich meine Tools sinnvoll gewählt habe.

  13. Re: NPM ist für Amateure

    Autor: redmord 30.05.18 - 18:05

    Kannst du mir eine Sache mit Dependency-Manager nennen, bei der dies nicht irgendwann ausufert?

    Dass man in der JS-Welt offensichtlich nichts von stabilen APIs hält, finde ich noch wesentlich schlimmer.

  14. Re: NPM ist für Amateure

    Autor: kaklaka 30.05.18 - 22:04

    LiPo schrieb:
    --------------------------------------------------------------------------------
    > flow77 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Es fehlt aber leider an
    > > Alternativen.
    >
    > ich hab grade berufsbedingt mit javascript angefangen, und habe das gefühl
    > das npm (was ich nicht benutze, nur schon davon gelesen) nur eine
    > auswirkung des grundlegenden problems ist, dass es für *javascript* keine
    > alternative gibt.
    >
    > so eine dreckige sprache hab ich seit meinen perl-zeiten nicht mehr
    > gesehen.

    Vielleicht solltest du die Sprache dann nicht verwenden? Javascript ohne NPM ist leider sehr beschränkt....

  15. Re: NPM ist für Amateure

    Autor: Kaliumhexacyanoferrat 30.05.18 - 23:22

    confuso schrieb:
    --------------------------------------------------------------------------------
    >
    > media.ccc.de
    > media.ccc.de
    >
    > Lohnt :-)

    Grandios, vielen Dank!

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. LORENZ Life Sciences Group, Frankfurt am Main
  2. Rentschler Biopharma SE, Laupheim
  3. WITRON Gruppe, Parkstein (Raum Weiden / Oberpfalz)
  4. Schaeffler Technologies AG & Co. KG, Herzogenaurach

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. 200,76€ (Bestpreis!)
  2. 78,96€ (Bestpreis!)
  3. (aktuell u. a. Tropico 6 für 23,99€, Human: Fall Flat für 4,99€, Dragon's Dogma: Dark Arisen...
  4. 91,65€ (mit Rabattcode "POWEREBAY10E" - Bestpreis!)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Sysadmin Day 2020: Du kannst doch Computer ...
Sysadmin Day 2020
Du kannst doch Computer ...

Das mit den Computern könne er vergessen, sagte ihm das Arbeitsamt nach dem Schulabschluss. Am Ende wurde Michael Fischer aber doch noch Sysadmin, zur allerbesten Sysadmin-Zeit.
Ein Porträt von Boris Mayer


    Campus Networks: Wenn das 5G-Netz nicht jeden reinlässt
    Campus Networks
    Wenn das 5G-Netz nicht jeden reinlässt

    Über private 4G- und 5G-Netze gibt es meist nur Buzzwords. Wir wollten von einer Telekom-Expertin wissen, was die Campusnetze wirklich können und was noch nicht.
    Von Achim Sawall

    1. Funkstrahlung Bürgermeister in Oberbayern greifen 5G der Telekom an
    2. IRT Öffentlich-rechtlicher Rundfunk schließt Forschungszentrum
    3. Deutsche Telekom 5G im UMTS-Spektrum für die Hälfte der Bevölkerung

    Ryzen 7 Mobile 4700U im Test: Der bessere Ultrabook-i7
    Ryzen 7 Mobile 4700U im Test
    Der bessere Ultrabook-i7

    Wir testen AMDs Ryzen-Renoir mit 10 bis 35 Watt sowie mit DDR4-3200 und LPDDR4X-4266. Die Benchmark-Resultate sind beeindruckend.
    Ein Test von Marc Sauter

    1. Renoir Asrock baut 1,92-Liter-Mini-PC für neue AMD-CPUs
    2. Ryzen 4000G (Renoir) AMD bringt achtkernige Desktop-APUs mit Grafikeinheit
    3. AMD Ryzen Threadripper Pro unterstützen 2 TByte RAM