Установка Docker-узла - PullRequest
       8

Установка Docker-узла

1 голос
/ 27 сентября 2019

Я пытаюсь подготовить образ докера, чтобы ускорить процесс сборки и избежать установки различных инструментов и библиотек при каждой сборке, мой базовый образ будет содержать его, а затем я буду использовать его со всеми установленными мне необходимыми вещами.

Итак, проблема в том, что я пытаюсь установить узел из NVM (Node Version Manager), но после установки я не могу использовать ни команду nvm, ни npm.

Мой базовый образis golang: 1.13.1, и я делаю следующее:

RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

Затем среди уроков я увидел, что ~/.nvm/nvm.sh должен быть запущен, чтобы закончить работу, как показано ниже

export NVM_DIR="$HOME/.nvm"

[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

Я немного его изменил, потому что мой образ докера не распознает несколько команд из-за разных оболочек.

Но когда я делаю два отдельных RUN, второй больше не видит NVM_DIR.Конечно, я могу сделать все за один RUN, но мне нужно иметь npm позже, чтобы каждый RUN мог видеть эту команду.

Также я попытался экспортировать NVM_DIRно он все равно не работает, даже когда я перезагружаюсь с . ~/.bashrc.

Смысл наличия NVM в том, что я не хочу заботиться о версии узла.Каждая сборка будет LTS-версией, и это нормально для меня.

Приветствуется совместное использование вашего решения или совета.Заранее спасибо

1 Ответ

0 голосов
/ 27 сентября 2019

Способ установки nodejs с npm без изменения образа и без nvm (что мне не очень нравится) -

RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
    && apt-get install -y nodejs

После RUN npm -v и RUN node -v это то же самое, что и версия LTS nvm6.9.0 и 10.16.3.

Я не смог найти лучшего решения, но я надеюсь, что это может кому-то помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...