Сбой обеспечения компаса с Docker compose up
вывод ошибок в консоли:
/var/lib/gems/2.1.0/gems/compass-core- 1.0.3/lib/compass/core/sass_extensions/functions/urls.rb:5:in `has?'
build-server_1 | [10:22:15] : undefined method `has?' for Sass::Util:Module (NoMethodError)
build-server_1 | from /var/lib/gems/2.1.0/gems/compass-core-1.0.3/lib/compass/core/sass_extensions/functions/urls.rb:9:in `included'
кажется, отсутствует метод has
но не знаете, какую версию ruby или compass или любые флаги добавить в текущий файл здесь, чтобы предотвратить это:
# install ruby
RUN apt-get install -y -qq ruby-dev
RUN apt-get install make
RUN apt-get install rubygems -y
# install compass
RUN gem install --no-rdoc --no-ri compass
попробовал и заменил последнюю строку ruby на:
RUN apt-get install ruby-ffi -y
и
RUN apt-get install ruby-dev -y
и компас без флагов.
любые предложения, пожалуйста? Это работает на другая техника. Недавно я сделал новую установку Win 10 на этом paticular и переустановил ruby на моей машине с env-путем, установленным на C:Ruby23-x64bin но не думал, что это повлияет на установку модулей и запуск в контейнере docker.
DOCKERFILE
version: '2'
services:
node:
build:
context: .
dockerfile: docker/dockerfiles/node-dev
ports:
- "3000:3000"
expose:
- "3000"
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
volumes_from:
- submissions
environment:
- NODE_ENV=development
links:
- mongo
submissions:
build:
context: .
dockerfile: docker/dockerfiles/golang
volumes:
- /files
links:
- mongo
build-server:
build:
context: .
dockerfile: docker/dockerfiles/build-server
environment:
- NODE_ENV=development
volumes_from:
- node
links:
- node
ports:
- "8080:8080"
build-server-admin:
build:
context: .
dockerfile: docker/dockerfiles/build-server-admin
environment:
- NODE_ENV=development
volumes_from:
- node
mongo:
image: mongo
2 ответов
Это должно быть связано с выпуском sass 3.5. Перед установкой компаса необходимо установить правильную версию Sass.
RUN gem install --no-rdoc --no-ri sass -v 3.4.22
RUN gem install --no-rdoc --no-ri compass
Я побежал сегодня к аналогичной проблеме с компасом в контейнере докера:
[11:12:23] /var/lib/gems/2.1.0/gems/compass-core-1.0.3/lib/compass/core/sass_extensions/functions/urls.rb:5:in `has?'
[11:12:23] : undefined method `has?' for Sass::Util:Module (NoMethodError)
from /var/lib/gems/2.1.0/gems/compass-core-1.0.3/lib/compass/core/sass_extensions/functions/urls.rb:9:in `included'
from /var/lib/gems/2.1.0/gems/sass-3.5.0.pre.rc.1/lib/sass/script/functions.rb:632:in `include'
я исправил это, добавив в свой файл docker
RUN gem install sass
Я не уверен, что это лучшее, что можно сделать, но это исправило проблему.