Как сделать так, чтобы «источник ....» присутствовал в разных командах запуска в Dockerfile? - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь установить nvm, который требует от вас файла

Я обнаружил, что это не работает:

RUN . /root/.nvm/nvm.sh
RUN nvm use

Говорит nvm не найден

Но это работает:

RUN . /root/.nvm/nvm.sh && nvm use

Есть идеи, как сохранить файл nvm.sh в командах RUN?

Мой полный набор команд

# Persist NVM
RUN mkdir /root/.nvm
ENV NVM_DIR /root/.nvm
ENV NODE_VERSION 9.11.2
ENV NODE_PATH $NVM_DIR/versions/node/v$NODE_VERSION/lib/node_modules
ENV PATH      $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH

# NVM So that we can get the latest node
# @todo Fix this to not require sourcing in the same step @tolicodes and should happen in main Dockerfile
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
RUN . $NVM_DIR/nvm.sh && \
    nvm install $NODE_VERSION && \
    nvm alias default $NODE_VERSION && \
    nvm use default

Главное - это ENV переменные.Другие инструкции дают неверный путь для последней версии nvm.

...