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)

shadi
quelle

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.

Ruslan Isay
quelle
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
Faisal HUSSAIN
quelle
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.

Joseph Roberts
quelle
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
8

apk update && apk add nodejshabe die npmbinärdatei für mich installiert .

John Delaney
quelle
nicht mehr ....
Panthro
1
Upvoted. Funktioniert immer noch
bholagabbar
1
Umstritten, ob etwas funktioniert, sollten Versionen der Dinge enthalten ...
Eric Swanson
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

Peter
quelle
1

npm geht Hand in Hand mit nodejs. Wenn Sie den Knoten nicht mit apk add nodejs installieren können, müssen Sie dies zuerst beheben. Schritt 1 - Haben Sie das Community- Repository zu Ihrer / etc / apk / repositories-Liste hinzugefügt? Wenn nicht, ist dies sehr nützlich. Weitere Details: https://wiki.alpinelinux.org/wiki/Enable_Community_Repository

vizmi
quelle
3
Kannst du die Abwahl erklären?
Vizmi
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

Samuel Dare
quelle