@
murmur #39 我碰到一个窘境,node-sass 需要 node-gyp ,node-gyp 又有一大堆依赖,同时还不支持 node 15 往上。 最直接的方式就是弄个 docker image, 把代码考进去,每次跑容器就好了
```dockerfile
FROM node:14-alpine as base
ENV HOME=/home/node
RUN apk add --no-cache python3 make g++ && \
yarn global add node-gyp@${VERSION} && \
yarn cache clean && \
node-gyp help && \
mkdir $HOME/.cache && \
chown -R node:node $HOME
USER node
VOLUME $HOME/.cache
WORKDIR $HOME
CMD ["sh"]
FROM base
WORKDIR /frontend
COPY package.json package.json
RUN yarn install
COPY . .
CMD ["npm", "start"]
```
现在流行 ship with environment 不是没有理由的, 越来越多的版本和各式各样的依赖,只要一个不对口,整个项目就跑不起来