Jak zainstalować npm w alpejskim Linuksie


66

Nie mogę więc zainstalować npm w alpejskim Linuksie. Myślałem, że może zrobię coś, apk add npmale najwyraźniej apk search npmnic nie zwraca, nawet po apk update. Eksperymentuję z tym wszystkim z obrazu dokera nginx: alpine, tjdocker run -it nginx:alpine /bin/sh

Edycja 1: Widzę, jak buduje się plik nodejs: alpine dockerfile node, ale nie rozumiem, jak się budujenpm

Edycja 2: teraz, gdy wiem, że npm jest instalowany z nodejs na alpine, i dla wyjaśnienia, na początku nie było to dla mnie oczywiste, że na Ubuntu 14.04 a sudo apt-get install nodejsnadal wymagałoby sudo apt-get install npm(który instaluje pakiety programistyczne np. gcc)

Odpowiedzi:


28

W najnowszych wersjach Alpine (v3.8 +) poprawnym sposobem instalacji nodejs z npm jest:

apk add --update nodejs npm

Jednak npmpakiet zależy od nodejs, więc możesz zrobić:

apk add --update npm

Uwaga: od wersji Alpine 3.8 nie ma pakietu nodejs-npm.


1
To powinna być zaakceptowana odpowiedź teraz
— Omar S.

173

Miałem problem z menedżerem apk.

Pakiet nodejs nie instaluje już NPM (patrz pkgs.alpinelinux.org ) Musisz zainstalować nodejs-npm

apk add --update nodejs nodejs-npm

Nie rozumiem tego. Npm powinna być podstawową zależnością węzła, np. Instalacja npm @ npm może mieć wpływ na samą wersję węzła, więc nie będą kompatybilne ...
— dmi3y

4
To powinna być zaakceptowana odpowiedź z najnowszym obrazem alpejskim. npm nie został zainstalowany dla mnie tylko z nodejs
— kevinc

Zgadzam się, zwykle jest to zależność, ale jeśli instalujesz nodejs ręcznie (instalowałem go również z repozytorium „edge”, ponieważ od teraz wersja 6.7 jest przestarzała), musisz zainstalować nodejs-npm osobno Oto co uruchomiłem : apk add nodejs = 6.11.2-r0 nodejs-npm = 6.11.2-r0 --update-cache --repository dl-cdn.alpinelinux.org/alpine/edge/main --allow-niezaufany
— Anton Babushkin

5
Pytanie poboczne: chociaż ta odpowiedź działa dobrze, nie mogę znaleźć jej nodejs-npmna pkgs.alpinelinux.org/packages . Jest npmpakiet, który również spełnia swoje zadanie. Czy to jakiś alias?
— Tad Lispy,

29

Mogę się mylić, ale myślę, że npmtak naprawdę jest to zależność nodejs.

Nigdy nie widziałem smaku npmsamodzielnego instalowania menedżera pakietów . Zawsze wydaje się, że jest dostarczany z pakietem yum install nodejslub apt-get install nodejs, lub apk add --update nodejs.


1
Witamy w Super User. Nie mam pojęcia, czy masz rację, ale tylko krótkie informacje zwrotne. Odpowiedzi mają być ostatecznymi rozwiązaniami. Przy odrobinie powtórzenia możesz opublikować komentarz z pomocnym odgadnięciem. W przypadku posta z odpowiedzią najpierw go zbadaj, aby uzyskać pewność, a następnie opublikuj post. Następnie możesz zacytować referencję, która stanowi jeszcze lepszą odpowiedź.
— fixer1234

16
nie jest to już akceptowane, ponieważ apk nie instaluje domyślnie npm podczas instalacji nodejs
— Panthro

przegłosowano tylko dlatego, że nikt nie udzielił lepszej odpowiedzi
— Alexander Mills

1
Wydaje mi się, że jest to „apk add - update nodejs-npm” dla Alpine 3.6+
— Ali Cheaito


4

Problem tutaj jest niedawny i jest spowodowany zmianami w repozytoriach pakietów Alpine między v3.5 a v3.6 lub edge.

W v3.5 nodejszawarte npm W v3.6 nodesjsnie zawiera npm i nodejs-npmistnieje nowy pakiet.

Zobacz tutaj dla pakietów Alpine. Aby zobaczyć, którą wersję pakietów wyciągasz, spójrz na zawartość/etc/apk/repositories



0

Właśnie to zrobiłem i mogę potwierdzić, że npm nie jest zależnością node.js (przynajmniej w tej chwili na alpejskim) i musi być zainstalowany osobno

to znaczy apk add --update npm

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.