ruby - compass 配置因 Docker 组合失败

标签 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​​ 或 compass 版本或任何标志以防止这种情况:

# 安装 ruby 运行 apt-get install -y -qq ruby​​-dev 运行 apt-get install make 运行 apt-get install ruby​​gems -y

# 安装 compass 运行 gem install --no-rdoc --no-ri compass

尝试将最后一行 ruby​​ 替换为:

运行 apt-get install ruby​​-ffi -y

运行 apt-get install ruby​​-dev -y

和没有标志的 compass 。

有什么建议吗?这适用于其他机器。我最近在这个特殊的机器上完成了全新的 Win 10 安装,并在我的机器上重新安装了 ruby​​,并将 env 路径设置为 C:\Ruby23-x64\bin 但没想到这会影响安装模块和在 docker 容器中运行。

docker 文件

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

最佳答案

这必须与 sass 3.5 的发布有关。在安装 compass 之前,您需要安装正确版本的 sass。

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

关于ruby - compass 配置因 Docker 组合失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39269285/

相关文章:

ruby - 在 Ruby 中, 'new' 和 'initialize' 之间的关系是什么?初始化时如何返回nil?

ruby - 使用自定义顺序对数组进行排序

docker - 无法拉取容器镜像 registry.eu-de.bluemix.net

linux - 我们可以通过 USB 设备传递到 Linux 上的 Docker 容器吗?

ruby-on-rails - 使用 Capistrano 运行所有命名空间任务

ruby-on-rails - Rails(set_no_cache 方法)无法在 Safari 和 Opera 中禁用浏览器缓存

linux - 可以从内部暂停无特权的Docker容器吗?

twitter-bootstrap - 错误 "Compass can' t 找不到要编译的任何 Sass 文件。”在 compass 创建

css - 基金会生成重复的 CSS

android - 获取手机的 z 轴和磁北极(而不是 y 轴)之间的角度