Каков наилучший способ установить последние nodejs с npm на Alpine Linux

6087
Andy

Я пытаюсь создать свой собственный докер-контейнер, основанный на Alpine Linux, и мне нужно добавить несколько сервисов в этот контейнер (да, это не рекомендуется в качестве лучшей практики, но в данный момент мои org devops немного отстают и требуют один докер-файл для мое собственное изображение).

Я проверял эту статью, чтобы найти способ установить последнюю версию nodejs с npm на Alpine Linux. Однако apk add nodejs@6в этом обсуждении, похоже, нет или что-то подобное.

Кроме того, похоже, что альпийская линукс не имеет последнюю версию nodejs (v 8.x) в хранилище здесь .

Так нужно ли мне устанавливать nodejs из исходного кода? Но этот вариант очень медленный по сравнению с простой установкой из репозитория Alpine.

РЕДАКТИРОВАТЬ:

добавление nodejs-current в dockerfile создает еще одну проблему

Шаг ...: RUN apk update && apk add nodejs-current

---> Запуск в e430b4d279e5 получения http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/ v3.4 / community / x86_64 / APKINDEX.tar.gz получить http://nl.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz v3.4.6-213-gb6db4bd [ http: // dl -cdn.alpinelinux.org/alpine/v3.4/main] v3.4.6-160-g14ad2a3 [ http://dl-cdn.alpinelinux.org/alpine/v3.4/community] v3.6.0-3765-g46dd4472f4 [ http://nl.alpinelinux.org/alpine/edge/testing] ОК: доступно 8679 различных пакетов ОШИБКА: неудовлетворительные ограничения: nodejs-current (отсутствует): требуется: world [nodejs-current]

5
Вы знаете, для этого есть [unix.se]. 6 лет назад 0
Ну ... характер этого вопроса таков, что он также может быть размещен здесь. Andy 6 лет назад 0

1 ответ на вопрос

10
Jakub Jirutka

Мы предоставляем два пакета nodejs:

Так что, если вам нужна последняя версия, установите nodejs-current, выполнив:

apk add nodejs-current 

В настоящее время это 7.10.1 в v3.6 (стабильная ветвь) или 8.5.0 в ребре (нестабильная / подвижная ветвь).

Мы не используем @Nтакие суффиксы, как nodejs@6, это не правильное имя пакета.

Я прямо заявил, что вы должны установить nodejs-current из ветки Alpine v3.6 или edge, но вы используете репозитории v3.4… v3.4 довольно старый. И смешивать v3.4 с текущими тестами - очень плохая идея, кстати… Jakub Jirutka 6 лет назад 0
О хорошо В этом случае мне придется подождать, пока используемый мной стандартный образ PHP (php: 7.1.9-fpm-alpine) обновит свое альпийское репо до V3.6 (они используют V3.4). Andy 6 лет назад 0
Нет, в этом случае вы должны прекратить использовать такое ужасно устаревшее изображение! Просто используйте базовый альпийский образ и установите пакет php7-fpm. Jakub Jirutka 6 лет назад 0
Кстати, ответ правильный, я не виноват, что вы не прочитали его должным образом, так что довольно грубо опровергать его. Jakub Jirutka 6 лет назад 2

Похожие вопросы