42

Поэтому я не могу установить npm в Alpine Linux. Я подумал, что я могу просто сделать apk add npm но, очевидно, apk search npm ничего не возвращает, даже после apk update . Я экспериментирую со всем этим из образа докера nginx:alpine, т. docker run -it nginx:alpine /bin/sh

Редактировать 1: я могу видеть, как nodejs: alpine dockerfile создает node , но я не понимаю, как он npm

Редактирование 2: теперь, когда я знаю, что npm устанавливается с помощью nodejs на alpine, и просто для пояснения, причина, по которой мне это сначала не было очевидно, заключается в том, что в ubuntu 14.04 для sudo apt-get install nodejs все равно требуется sudo apt-get install npm (который устанавливает пакеты разработки, например, gcc)

5 ответов5

140

У меня была проблема с менеджером apk.

Пакет nodejs больше не устанавливает NPM (см. Pkgs.alpinelinux.org). Вам необходимо установить nodejs-npm.

apk add --update nodejs nodejs-npm
26

Я могу ошибаться, но я думаю, что npm на самом деле является зависимостью от nodejs .

Я никогда не видел ни одного варианта установки менеджера npm одиночку. Кажется, всегда поставляется с yum install nodejs , или apt-get install nodejs , или apk add --update nodejs .

6

apk update && apk add nodejs установил двоичный файл npm для меня.

4

Эта проблема возникла недавно и связана с изменениями в репозиториях пакетов Alpine между версиями 3.5 и v3.6 или более поздними.

В v3.5 nodejs включен npm В v3.6 nodesjs не включает npm, и существует новый nodejs-npm .

Смотрите здесь для альпийских пакетов. Чтобы увидеть, какую версию пакетов вы извлекаете, посмотрите на содержимое /etc/apk/repositories

0

npm идет рука об руку с nodejs. В случае, если вы не можете установить узел с помощью apk add nodejs, вам сначала нужно это исправить. Шаг 1 - есть ли у вас репозиторий сообщества, добавленный в ваш список /etc /apk /repositories? Если нет, то это очень полезно. Дополнительная информация: https://wiki.alpinelinux.org/wiki/Enable_Community_Repository

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .