Closed juulSme closed 4 years ago
https://www.npmjs.com/package/node-sass
Node 12 | 4.12+ | 72
It seems that, the node-sass can be installed in the alpine 3.11.
In theory yes. And perhaps with newer node-sass it works. But brunch-sass depends on a slightly older node-sass version (4.9.4). To reproduce:
docker pull erlang:22-alpine
# don't skip the previous step, it only fails with latest image that is based on alpine:3.11
docker run --rm erlang:22-alpine /bin/sh -c "apk add --update nodejs npm && npm install sass-brunch"
Anyway, that is besides the point. By upgrading to a newer base image this quickly, especially an alpine-based image with its non-standard C compiler that makes separate builds necessary, things are bound to break because not all packages are this quick in updating their deployed artifacts. Of course brunch-sass should be kept up-to-date, but the package is actually actively maintained, just not this actively. Our apps depend on the very latest brunch-sass, and still had the rug pulled out from under them by the alpine:3.11 bump in erlang alpine image. Is there a reason for the aggressive update strategy that necessitates it?
Currently no strategy for the updating process.
And you are right, the sass-brunch
master branch can be installed:
apk add --update nodejs npm make g++ python git
npm install https://github.com/brunch/sass-brunch
It is not the fault of the alpine:3.11 . By using the master branch, you can close this issue.
Thank you, that is a good tip, we have solved the issue for now by using a specific git commit as our dependency, i.e. "sass-brunch": "https://github.com/brunch/sass-brunch.git#b21b27f6329c2ec30659daa0835db214dde708b0"
. I still think, however, that you should wait for half a year after an alpine release before switching base image. I defer to your wisdom however. Keep up the good work
See https://github.com/c0b/docker-elixir/issues/131
tldr; phoenix with brunch with sass uses brunch-sass, which uses node-sass, which doesn't support nodejs 12 apparently, so it doesn't support alpine 3.11 (yet) because alpine 3.11 only has nodejs 12 in the apk package repo
It seems to me that updating the base image to alpine:3.11 this shortly after the 3.11 release (12 December) is overly aggressive. When looking at https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases it seems that alpine 3.10 is still supported until May 2021, so it seems there is no reason for this update at this moment. It would seem prudent for an image like erlang:22, which has so many dependent images, to take a slightly more conservative approach.