指南针提供失败,Docker组成

时间:2016-09-01 10:37:23

标签: ruby docker compass

控制台中的错误输出:

/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或指南针版本或任何标志以防止这种情况:

# 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

尝试并用:

替换最后一个红宝石线

RUN apt-get install ruby-ffi -y

RUN apt-get install ruby-dev -y

和没有旗帜的指南针。

有什么建议吗?这适用于其他机器。我最近在这个特制的上安装了一个新的Win 10,并在我的机器上重新安装了ruby,并将env路径设置为C:\ Ruby23-x64 \ bin但是我不会想到这会影响安装模块并在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 个答案:

答案 0 :(得分:23)

这必须与sass 3.5的发布相关联。在安装指南针之前,您需要安装正确版本的sass。

RUN gem install --no-rdoc --no-ri sass -v 3.4.22
RUN gem install --no-rdoc --no-ri compass

答案 1 :(得分:2)

我今天在一个码头工人容器中用指南针跑了类似的问题:

[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'

我通过添加我的泊坞窗文件

修复了它
RUN gem install sass

我不确定这是最好的事情,但它解决了这个问题。