Итак, я не могу установить npm в alpine linux. Я думал, что, возможно, я могу просто сделать a, apk add npm
но, по-видимому, apk search npm
ничего не возвращает, даже после a apk update
. Я экспериментирую со всем этим из образа docker nginx:alpine, т.е.docker run -it nginx:alpine /bin/sh
Редактировать 1: Я понимаю, какnodejs:альпийскийdockerfile собирается node
, но я не понимаю, как он собираетсяnpm
Редактирование 2: теперь, когда я знаю, что npm устанавливается вместе с nodejs на Alpine, и просто для ясности, причина, по которой это не было очевидно для меня сначала, заключается в том, что на Ubuntu 14.04 a sudo apt-get install nodejs
все равно потребуется sudo apt-get install npm
(который устанавливает пакеты разработки, например gcc
)
решение1
Для последних версий Alpine (v3.8+) правильный способ установки nodejs с помощью npm:
apk add --update nodejs npm
Однако npm
пакет зависит от nodejs
, поэтому вы можете сделать:
apk add --update npm
Примечание: начиная с Alpine 3.8 пакет nodejs-npm отсутствует.
решение2
У меня возникла проблема с менеджером APK.
Пакетnodejsбольше не устанавливает NPM (см.pkgs.alpinelinux.org) Вам необходимо установить nodejs-npm
apk add --update nodejs nodejs-npm
решение3
Я могу ошибаться, но мне кажется, npm
что это на самом деле зависимость nodejs
.
Я никогда не видел, чтобы какой-либо пакетный менеджер устанавливался npm
отдельно. Кажется, всегда идет в комплекте с yum install nodejs
, или apt-get install nodejs
, или apk add --update nodejs
.
решение4
Проблема возникла недавно и связана с изменениями в репозиториях пакетов Alpine между версиями 3.5 и 3.6 или edge.
В v3.5 nodejs
включен npm. В v3.6 nodesjs
npm не включен, а новый nodejs-npm
пакет существует.
Видетьздесьдля пакетов Alpine. Чтобы узнать, какую версию пакетов вы извлекаете, посмотрите содержимое/etc/apk/repositories