I have a following Dockerfile:
FROM ubuntu:18.04
RUN mkdir app && cd app
WORKDIR app/
RUN apt-get update && apt-get install -y \
software-properties-common \
curl \
sudo \
&& curl -O https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh \
&& chmod u+x prereqs-ubuntu.sh \
&& ./prereqs-ubuntu.sh \
&& npm install -g \ # this line failed
&& yo \
[email protected] \
[email protected] \
generator-hyperledger-com[email protected] \
[email protected]
CMD /bin/bash
The prereqs-ubuntu.sh
is from https://github.com/hyperledger/composer/blob/master/packages/composer-website/jekylldocs/prereqs-ubuntu.sh.
However, it says /bin/sh: 1: npm: not found
on the line npm install -g
when I try to build the image. But npm
is installed when running prereqs-ubuntu.sh
already and can be ran successfully at the end of the file (npm --version
).
Also, when I remove the npm-install
part from the Dockerfile (shown below) and do docker run --name test -it myimage
to see if npm
is installed, but it is installed.
FROM ubuntu:18.04
RUN mkdir app && cd app
WORKDIR app/
RUN apt-get update && apt-get install -y \
software-properties-common \
curl \
sudo \
&& curl -O https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh \
&& chmod u+x prereqs-ubuntu.sh \
&& ./prereqs-ubuntu.sh \
CMD /bin/bash