
Я новичок в Alpine Linux и попытался установить Node.js 4.
В соответствии сэтотЯ могу указать версию следующим образом:
apk add nodejs=4
Я также попробовал это, потому что я думал, что, возможно, он не понимает семантические версии, и я увиделздесьПохоже, это 4.3.0-r0
единственная доступная версия:
apk add nodejs=4.3.0-r0
Обе команды приводят к ошибке:
ERROR: unsatisfiable constraints: nodejs-6.2.0-r0: breaks: world[nodejs=4.3.0-r0]
Что я делаю не так?
решение1
Используйте это для просмотра списка доступных пакетов:
apk search --update 'node*'
выберите один и установите его следующим образом:
apk add nodejs-lts --update
(1/4) Installing libgcc (5.3.0-r0)
(2/4) Installing libstdc++ (5.3.0-r0)
(3/4) Installing libuv (1.9.1-r0)
(4/4) Installing nodejs-lts (4.4.4-r0)
решение2
Alpine — это дистрибутив с непрерывным релизом. Пакеты для nodejs зависят от используемой версии alpine.
В вашем примере, если вам нужен nodejs-4.3x, вам следует использовать Alpine 3.3:
https://pkgs.alpinelinux.org/packages?name=nodejs&branch=&repo=&arch=&maintainer=
Это связано с тем, что пока нет возможности произвольно устанавливать старые версии пакетов из официальных репозиториев.
Возможным решением, если оно вам подходит, является использование контейнера lxc, в котором вы можете указать используемую версию Alpine, занимающую мало места на хосте.