Wie installiere ich npm unter Linux?


66

Daher kann ich npm nicht in Alpine Linux installieren. Ich dachte, vielleicht kann ich einfach einen machen, gibt apk add npmaber anscheinend apk search npmauch nach einem nichts zurück apk update. Ich experimentiere mit all dem aus dem Nginx: Alpine Docker-Bild, dhdocker run -it nginx:alpine /bin/sh

Edit 1: Ich kann sehen, wie das nodejs: alpine dockerfile erstellt wird node, aber ich verstehe nicht, wie es erstellt wirdnpm

Edit 2: jetzt, da ich weiß, dass npm mit nodejs auf alpine installiert wird, und nur zur Verdeutlichung war mir dies zunächst nicht klar, dass auf Ubuntu 14.04 sudo apt-get install nodejsnoch ein a benötigt wird sudo apt-get install npm(welches zB Entwicklungspakete installiert gcc)

Antworten:


28

Für die aktuellen Versionen von Alpine (v3.8 +) ist die richtige Methode zum Installieren von NodeJS mit npm:

apk add --update nodejs npm

Das npmPaket ist jedoch abhängig von nodejs:

apk add --update npm

Hinweis: Seit Alpine 3.8 gibt es kein nodejs-npm-Paket.


1
Dies sollte jetzt die akzeptierte Antwort sein
Omar S.

172

Ich hatte ein Problem mit dem Apk-Manager.

Das Paket nodejs installiert NPM nicht mehr (siehe pkgs.alpinelinux.org ). Sie müssen nodejs-npm installieren

apk add --update nodejs nodejs-npm

Ich verstehe es nicht. Npm sollte die Kernabhängigkeit des Knotens sein, npm install npm @ latest wird möglicherweise von der Knotenversion selbst beeinflusst, sodass sie nicht kompatibel sind ...
dmi3y

4
Dies sollte die akzeptierte Antwort mit dem neuesten Alpenbild sein. npm wurde bei mir nicht nur mit nodejs installiert
kevinc 29.07.17

Einverstanden, dies ist normalerweise eine Abhängigkeit, aber wenn Sie nodejs manuell installieren (ich habe es auch vom 'Edge'-Repository aus installiert, da ab sofort 6.7 veraltet ist), müssen Sie nodejs-npm separat installieren : apk add nodejs = 6.11.2-r0 nodejs-npm = 6.11.2-r0 --update-cache --repository dl-cdn.alpinelinux.org/alpine/edge/main --allow-untrusted
Anton Babushkin

5
Nebenfrage : Obwohl diese Antwort gut funktioniert, kann ich sie nodejs-npmauf pkgs.alpinelinux.org/packages nicht finden . Es gibt ein npmPaket, das auch die Arbeit erledigt. Ist es eine Art Alias?
Tad Lispy

29

Ich könnte mich irren, aber ich denke npmist eigentlich eine Abhängigkeit von nodejs.

Ich habe noch nie gesehen, dass Package Manager npmalleine installiert wurde . Scheint immer verpackt mit yum install nodejsoder apt-get install nodejsoder zu kommen apk add --update nodejs.


1
Willkommen bei Super User. Ich habe keine Ahnung, ob Sie Recht haben, aber nur ein kurzes Feedback. Antworten sollen endgültige Lösungen sein. Mit etwas mehr Wiederholungen können Sie einen Kommentar mit einer hilfreichen Vermutung posten. Nachforschen Sie einen Antwortbeitrag zuerst, damit Sie sich der Informationen sicher sind, und posten Sie dann. Und Sie können dann einen Verweis zitieren, was eine noch bessere Antwort ergibt.
Fixer1234

16
dies wird nicht länger akzeptiert, da apk npm nicht standardmäßig installiert, wenn nodejs
Panthro

nur weil niemand eine bessere Antwort gegeben hat
Alexander Mills

1
Ich glaube, es ist 'apk add --update nodejs-npm' für Alpine 3.6+
Ali Cheaito


4

Das Problem hier ist ein aktuelles Problem und beruht auf Änderungen in den Paket-Repositorys von Alpine zwischen Version 3.5 und 3.6 oder Edge.

In v3.5 nodejsenthaltenes npm In v3.6 nodesjsist npm nicht enthalten und das neue nodejs-npmPaket existiert.

Sehen Sie hier für alpine Pakete. Um zu sehen, welche Version von Paketen Sie abrufen, lesen Sie den Inhalt von/etc/apk/repositories



0

Ich hatte gerade dazu und kann bestätigen, dass npm keine Abhängigkeit von node.js ist (zumindest im Moment auf alpine) und separat installiert werden muss

dh apk add --update npm

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.