最新バージョンのコンパス( https://rubygems.org/gems/compass/versions/1.0.0.alpha.17 )をインストールしようとすると、次のエラーが表示されます。
ERROR: Error installing compass:
ERROR: Failed to build gem native extension.
ERROR: Error installing compass:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/Ruby extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi... yes
checking for ffi_call() in -lffi... yes
checking for ffi_prep_closure()... yes
checking for ffi_raw_call()... no
checking for rb_thread_blocking_region()... yes
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
checking for ffi_prep_cif_var()... no
creating extconf.h
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling AbstractMemory.c
compiling ArrayType.c
compiling Buffer.c
compiling Call.c
Call.c:303:5: warning: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Wimplicit-function-declaration]
rbffi_thread_blocking_region(call_blocking_function, data, (void *) -1, NULL);
^
./Thread.h:78:39: note: expanded from macro 'rbffi_thread_blocking_region'
# define rbffi_thread_blocking_region rb_thread_call_without_gvl
^
1 warning generated.
compiling ClosurePool.c
compiling DataConverter.c
DataConverter.c:43:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
compiling DynamicLibrary.c
compiling ffi.c
compiling Function.c
Function.c:479:33: warning: incompatible pointer types passing 'VALUE (void *)' to parameter of type 'void *(*)(void *)' [-Wincompatible-pointer-types]
rb_thread_call_with_gvl(callback_with_gvl, &cb);
^~~~~~~~~~~~~~~~~
Function.c:102:46: note: passing argument to parameter 'func' here
extern void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
^
Function.c:563:9: warning: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Wimplicit-function-declaration]
rb_thread_call_without_gvl(async_cb_wait, &w, async_cb_stop, &w);
^
Function.c:738:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
3 warnings generated.
compiling FunctionInfo.c
compiling LastError.c
compiling LongDouble.c
compiling MappedType.c
compiling MemoryPointer.c
compiling MethodHandle.c
compiling Platform.c
compiling Pointer.c
compiling Struct.c
compiling StructByReference.c
compiling StructByValue.c
compiling StructLayout.c
compiling Thread.c
compiling Type.c
compiling Types.c
compiling Variadic.c
linking shared-object ffi_c.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [ffi_c.bundle] Error 1
make failed, exit code 2
Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/ffi-1.9.3 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-13/2.0.0/ffi-1.9.3/gem_make.out
何が起きてる?最新のコンパスをエラーなくインストールするにはどうすればよいですか?
これを試して、もう一度コンパスをインストールしてみてください
apt-get install Ruby-dev
コンパスをインストールするには、Mac OS X 10.10(Yosemite)で以下の作業を行ってください。
1. Ruby環境をセットアップする
Ruby -v
Sudo gem update --system
を更新する2. MAC環境の設定
Xcodeコマンドラインツールを-Install これはコンパスをインストールするための鍵です。 xcode-select --install
- Xcodeコマンドラインツールをインストールすることは、コンパスをOS Xで動かすための鍵です
3.コンパスをインストールします
Sudo gem install compass
最良の方法はcompassをインストールするSudo apt-get install Ruby-compass
です。
Debianで試すことができます
Sudo apt-get install gcc Ruby-dev rubygems compass
fedora用、チェントス用
yum -y install gcc Ruby-devel rubygems compass
それは私のために働きました。
私は約3時間あなたと同じ問題に苦労しました。 Compass 1.0.alpha19
の時点で、要件はrvmバージョン1.9.3です。
未収集の投稿がいくつかありますが、私にとってうまくいったのは次のとおりです。
Sudo gem uninstall sass
Sudo gem uninstall compass
rvm install Ruby-1.9.3-p448
Sudo gem install sass --pre
Sudo gem install compass --pre
そしてそれはそれをしました。それがあなたにとってもうまくいくことを願っています!
この問題を解決するために、私はRubyの最新版とgem gem update --system
を手に入れたことを確かめなければなりませんでした。それから、Xcodeとコマンドラインツールがインストールされていることを確認する必要がありました:xcode-select --install
。
Mac OSでは、この機能をインストールする必要があります。
xcode-select --install
なぜこれらのどれもが正しい答えとしてマークされていないのかわからないが、私はグーグル検索を通してここに上陸したので、私は私が知っていることを伝えるつもりだ...
@ paul_gのメソッドは私にはかなり近いものでした。Macosx10.9 Retinaでの私のステップです。
--insecure
フラグ)$ \curl -sSL --insecure https://get.rvm.io | bash -s stable --Ruby
rvm requirements --with-gcc=clang
を実行する最後の安定版をダウンロードしたのでRubyをアップデートする必要はありません。gem install compass --pre
を実行する最後のステップYosemiteにCompassをインストールするには、Ruby環境をセットアップしてXcodeコマンドラインツールをインストールする必要があります。しかし、最も重要なことは、Xcodeを更新した後、 Xcodeアプリケーションを起動してAppleのライセンス条項に同意することです 。これでコンポーネントのインストールは完了です。その後、あなたはコンパスをインストールすることができます。Sudo gem install compass
あなたは、おそらくデフォルトであなたのシステムにインストールされていない、Appleのコマンドラインツールをインストールする必要があるかもしれません。同じエラーが表示されましたが、ここで説明する手順を実行する前に(関連性のない問題が原因で)Command Line Toolsをインストールし、もう一度試してみると問題なくコンパスがインストールされました。 YMMV.
gcc、json_pure が必要です
私はいくつかの記事からいくつかの情報を集めます
Sudo gem uninstall sass
Sudo gem uninstall compass
Sudo gem update --system
gem install json_pure (if you have already have continued to next step)
Sudo yum install gcc gcc-c++ (if you have already have continued to next step)
Sudo gem install sass
Sudo gem install compass
ヨセミテでは、コマンドラインツールをインストールするだけです。それはうまくいきます。
他の宝石がうまくインストールされていても。 gem install compassを動作させるには、xcode-select --installを実行する必要があります。
がんばろう。
brew install coreutils
を試してください。
同僚によって最近Ruby 2.2.5に更新された、古くなっているsass/compassプロジェクトを再構築中に、私はこの問題にぶつかった。プロジェクトはrvmとbundlerを使用しています。これらは私の命令でした
$ rvm install Ruby-2.2.5
$ rvm use Ruby-2.2.5
$ gem install bundler
$ bundle install
これにより、StackOverflow環境で報告されている有名なffi
インストールエラーに遭遇しました。
An error occurred while installing ffi (1.9.14), and Bundler cannot continue.
この問題を解決するための提案のほとんどは、Xcodeコマンドラインツールをインストールすることです。しかし、これは私の環境に既にインストールされていました:
$ xcode-select -p
/Library/Developer/CommandLineTools
他の提案はgccをインストールするように言った...だから私は試してみました:
$ brew install gcc46
しかし、これもセグメンテーション違反のため失敗しました... ¯\_(ツ)_/¯
。
それで、私はそれから同じffi
エラーを与えるかどうか確かめるために手でコンパスをインストールしようとしました:
$ gem install compass
しかし驚いたことに、私はまったく違うエラーを受けました:
make: /usr/local/bin/gmkdir: No such file or directory
それで私はその問題を捜し、そして この古いブログ記事 を見つけた/ /それはcoreutilsをインストールするように言った:
$ brew install coreutils
Homebrewでcoreutils
をインストールした後、bundlerはコンパスと依存関係を正常に終了してインストールできました。
終わり。
いつ
gem installオーバーコミット
実行されてもこのエラーが端末に配置されています。
Failed to build gem native extension
同じようにしてください
xcode-select --install
そしてそれはその問題も解決します
Ubuntu 14.04では、 apt-get install rubygems を実行しているとエラーが発生します
E:パッケージ 'rubygems'にはインストール候補がありません
followコマンドは問題を解決します。
Sudo apt-get install gcc Ruby-devel rubygems-integration Ruby-compass
Mac OS X 10.9では、xcode-select --install
を試すと、次のエラーが発生します。
Software Updateサーバーから現在入手できないため、ソフトウェアをインストールできません。
解決策は、AppleのWebサイトから直接Command Line Tools(OS X 10.9)をダウンロードすることです。 https://developer.Apple.com/downloads/index.action?name=for%20Xcode%20-
その後、Command Line Toolsの最新バージョンをインストールすることができます。
Ubuntuを使っているのなら、install build-essentialを試してみてください。
apt install build-essential
私は、ubuntuのフレッシュインストールでのgemsのインストールに問題があり、この解決策は私のために働きました。
これを試して、もう一度コンパスをインストールしてみてください
Sudo apt install Ruby-full
Linux Mintでも同じ問題がありましたが、Rubyをアンインストールしてから再度インストールすることで解決できました。
Rubyをアンインストールします。 /
Sudo apt-get remove Ruby
次のようないくつかのRubyパッケージが報告されています。
Package 'Ruby' is not installed, so not removed
The following packages were automatically installed and are no longer required:
libruby2.2 Ruby-chunky-png Ruby-sass rubygems-integration
Use 'apt-get autoremove' to remove them.
残りのパッケージをアンインストールする*
apt-get autoremove
Rubyをもう一度インストールしてください
Sudo apt-get install Ruby2.2
コンパスをインストールします
Sudo gem install compass
最後のコマンドは正常に実行されました。