@@ -28,17 +28,6 @@ RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2
2828 ./aws/install && \
2929 rm -rf aws awscliv2.zip
3030
31- # Install NodeJS
32- ARG NODE_MAJOR=24
33-
34- RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
35- echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
36- apt-get update && apt-get install nodejs -y && \
37- rm -rf /var/lib/apt/lists/* && \
38- apt-get clean &&\
39- npm install --global corepack &&\
40- corepack enable
41-
4231# Install Golang
4332ARG GOLANG_VER=1.23.2
4433RUN curl -fsSL https://go.dev/dl/go${GOLANG_VER}.linux-amd64.tar.gz | tar -C /usr/local -xz
@@ -52,9 +41,19 @@ WORKDIR ${HOME}
5241RUN mkdir -p ${HOME}/go
5342ENV PATH=${HOME}/go/bin:${PATH}
5443
55- ENV PYENV_ROOT=${HOME}/.pyenv
44+ # Install NVM & Node
45+ ARG NODE_MAJOR=24
46+ ENV NVM_VERSION=v0.40.3
47+ ENV NVM_DIR="${HOME}/.nvm"
48+ ENV BASH_ENV="${HOME}/.bash_env"
49+ RUN touch "${BASH_ENV}" && \
50+ echo '. "${BASH_ENV}"' >> ~/.bashrc && \
51+ mkdir -p ${NVM_DIR} && \
52+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh | PROFILE="${BASH_ENV}" bash && \
53+ /bin/bash -c "source ${NVM_DIR}/nvm.sh && nvm install ${NODE_MAJOR}"
5654
5755# Install Pyenv
56+ ENV PYENV_ROOT=${HOME}/.pyenv
5857RUN git clone https://github.com/pyenv/pyenv.git ${PYENV_ROOT} && \
5958 cd ${PYENV_ROOT} && src/configure && make -C src
6059
@@ -79,4 +78,7 @@ RUN PYTHON_CONFIGURE_OPTS=--enable-shared pyenv install 3.9 && \
7978ARG POETRY_VERSION=2.1.3
8079RUN curl -sSL https://install.python-poetry.org | python3 - --version ${POETRY_VERSION}
8180
81+ # set ENTRYPOINT for reloading nvm-environment
82+ ENTRYPOINT ["bash" , "-c" , "source $NVM_DIR/nvm.sh && exec \" $@\" " , "--" ]
83+
8284CMD ["/bin/bash" ]
0 commit comments