やりたいこと
-
docker-compose up -d
にて立ち上げたnodejsコンテナにて、gulp
が走らないことを解決したい
環境
$ docker exec -it node_js_1 npm -v
v6.1
$ docker exec -it node_js_1 node -v
v10.6.0
$ docker exec -it node_js_1 gulp -v
v3.9.1
原因
タスクランナーのnode-sass
に不備があったため
解決策
node-sassをuninstallして再度install
//まずnode_jsコンテナに入る
$ docker exec -it node_js_1 bash
//コンテナ内でnode-sassをuninstall実行
$ npm uninstall node-sass
//node-sassをinstall実行
$ npm install node-sass
ちなみに、プロジェクトのルートディレクトリからでもinstallまで可能
$ docker exec -it node_js_1 npm uninstall node-sass
$ docker exec -it node_js_1 npm install node-sass
$ gulp
上記でコンパイルが成功しました。
node-sassとは
Node.jsをLibSassに関連付けされるLibraryで、高速でsassファイルをコンパイルする。
gulpfile.jsにてrequireして使う。
https://www.npmjs.com/package/node-sass
LibSassとは
C++で書かれたコンパイラー
考察
gulp-scssとの違いを調査したい。
そもそもこれDocker関係なかった...
強いて言えばdocker-compose.ymlやDockerfileの中身が間違っていたくらいか...
フロント超絶初心者なのでご指摘等お願いします。