2016-09-01 16 views
3

エラー出力を構成する:コンパスの提供は、コンソールで

/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やコンパス、または任意のフラグがわからないどのようなバージョンはこちらを現在のファイルに追加します最後のRしようとした置き換え

# 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

:これを防ぎますubyラインを持つ:

RUN apt-get install ruby-ffi -y

とフラグなし

RUN apt-get install ruby-dev -y

とコンパス。

お願いします。これは他のマシンでも動作します。私は最近、このpaticular 1に新しくWin 10をインストールし、envパスをC:\ Ruby23-x64 \ binに設定して私のマシンにルビを再インストールしましたが、これはモジュールのインストールやドッキング用のコンテナでの実行には影響しないと考えていませんでした。

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 
+1

完全なDockerfileを含めます。 – Alkaline

答えて

19

これはsass 3.5のリリースで接続する必要があります。コンパスをインストールする前に、正しいバージョンのSassをインストールする必要があります。

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

私は最後にSassとCompassをインストールしなければならなかった – lxm7

+2

以前にインストールしたsass 3.5を削除するには 'gem uninstall sass'を実行しなければなりませんでした。 –

+0

複数のバージョンのSassをお持ちの場合は、3.5をアンインストールする必要があります。 'gem uninstall sass'は、アンインストールするSassのバージョンを提供します。 –

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 

これは最善のことではないと思いますが、問題を修正しました。

+0

ありがとう、これは後で試してみます。 – lxm7

+0

残念ながら、同じエラーが機能しませんでした。これは、ドッカーの作図を行った後、ドッキングして作図していました。 – lxm7

+0

コンテナを起動していたときにエラーが追加されました。私はdocker-compose(私はbambooとnexusを使用しています)でコンテナを作成しているときに使用するdockerfileにsass installコマンドを追加しました。 CIツールを使用してコンテナを作成していますか?カスタムレポ?たぶんどこかでキャッシュ問題が発生する可能性があります(したがって、いくつかの依存関係は前のバージョンから引き出されません)。 – remib

関連する問題