Ketika saya mencoba menginstal versi kompas terbaru ( https://rubygems.org/gems/compass/versions/1.0.0.alpha.17 ), saya mendapatkan kesalahan berikut.
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
Apa yang terjadi di sini? Bagaimana cara saya menginstal kompas terbaru tanpa kesalahan?
ruby
macos
terminal
compass-sass
cusejuice
sumber
sumber
Jawaban:
Coba ini, lalu coba pasang kompas lagi
sumber
choco install ruby2.devkit
tetapi masih tidak berfungsiUntuk menginstal kompas Pada Mac OS X 10.10 (Yosemite) harus melakukan hal berikut:
1. Mengatur Ruby Environment
ruby -v
sudo gem update --system
2. Mengatur Lingkungan MAC
Instal Alat Baris Perintah Xcode ini adalah kunci untuk menginstal Kompas.
Menginstal Alat Baris Perintah Xcode adalah kunci untuk membuat Kompas bekerja di OS X
3. Pasang Kompas
sumber
Cara terbaik adalah
sudo apt-get install ruby-compass
menginstal kompas.sumber
Anda dapat mencoba di Debian bersama
untuk Fedora, Centos
Ini berhasil untuk saya.
sumber
make
.ruby-dev
melakukan trik stackoverflow.com/questions/20559255/…Saya kesulitan dengan Anda masalah yang sama selama sekitar 3 jam. Pada
Compass 1.0.alpha19
, persyaratannya adalah untuk versi rvm 1.9.3.Ada beberapa pos yang tidak dikoleksi, namun yang berhasil bagi saya adalah sebagai berikut:
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
dan itu berhasil. Semoga berhasil juga untuk Anda!
sumber
rvm install ruby-2.1.2
1.9.3 tidak lagi diperbaruiBagi saya untuk mengatasi masalah ini, saya harus memastikan saya memiliki Ruby dan permata versi terbaru
gem update --system
; kemudian, saya harus memastikan bahwa Xcode & Tools Command Line dipasang:xcode-select --install
.sumber
xcode-select --install
sudah dilakukan tetapi ini tidak menyelesaikannya untuk sayaDi Mac OS Anda perlu menginstal fitur ini!
sumber
Hai itu adalah tantangan untuk membuatnya bekerja di Mac jadi bagaimanapun di sini adalah solusinya
rvm requirements
kemudian jalankanrvm install 2.1
gem install compass --pre
Saya tidak yakin tetapi versi ruby pada Mavericks tidak mendukung ekstensi asli dll ... jadi jika Anda menunjuk ke versi ruby lain seperti yang saya lakukan "2.1" itu berfungsi dengan baik.
sumber
Tidak yakin mengapa tidak ada yang ditandai sebagai jawaban yang benar, tetapi saya mendarat di sini melalui pencarian google, jadi saya akan menyampaikan apa yang saya tahu ...
Metode @ paul_g cukup dekat bagi saya, langkah saya di Mac osx10.9 Retina:
--insecure
tanda tambah ruby untuk masalah terkait SSL) $\curl -sSL --insecure https://get.rvm.io | bash -s stable --ruby
rvm requirements --with-gcc=clang
Anda tidak perlu memperbarui Ruby karena Anda mengunduh versi stabil terakhirgem install compass --pre
sumber
Jika Anda menggunakan Ubuntu, Anda harus mencoba menginstal build-essential
Saya memiliki masalah dengan pemasangan permata pada instalasi baru Ubuntu, dan solusi ini berhasil bagi saya.
sumber
Anda mungkin perlu menginstal Alat Baris Perintah Apple, yang mungkin tidak diinstal pada sistem Anda secara default. Saya mendapatkan kesalahan yang sama, tetapi sebelum mengikuti instruksi di sini saya menginstal Command Line Tools (karena masalah yang tidak berhubungan) dan lihatlah kompas terpasang tanpa masalah ketika saya mencoba lagi. YMMV.
sumber
Untuk menginstal Kompas di Yosemite, Anda perlu mengatur lingkungan Ruby dan menginstal Alat Baris Perintah Xcode. Tapi, yang paling penting, setelah memperbarui Xcode, pastikan untuk meluncurkan aplikasi Xcode dan menerima persyaratan lisensi Apple . Ini akan menyelesaikan pemasangan komponen. Setelah itu, Anda dapat menginstal Kompas: sudo gem instal kompas
sumber
Untuk macOS 10.14 Mojave, pastikan Anda telah menginstal alat baris perintah via
xcode-select --install
dan jalankan perintah berikut untuk menginstal std header.Sekarang coba perintah Anda lagi.
sumber
Anda harus memiliki gcc, json_pure
saya mengumpulkan beberapa informasi dari beberapa pos
Hai jika ** pembaruan sudo gem --sistem ** tidak berfungsi Anda mendapat kesalahan dalam pembaruan lalu gunakan
pembaruan sudo gem --sistem 2.7.8
sumber
sudo yum install -y redhat-rpm-config
untuk Fedora 24 sebelum menginstal kompas karena kesalahan ini:gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
sudo gem update --system
memberiku kesalahan:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
:(Di yosemite, yang harus Anda lakukan adalah menginstal alat-alat baris perintah. lalu bekerja.
Bahkan jika permata lain terpasang dengan baik. Anda harus menjalankan xcode-select --install for gem install kompas agar berfungsi.
Semoga berhasil.
sumber
Pada Mac OS X 10.9, jika Anda mencoba
xcode-select --install
, Anda akan mendapatkan kesalahan berikut:Solusinya adalah mengunduh Command Line Tools (OS X 10.9) langsung dari situs web Apple: https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-
Anda kemudian dapat menginstal versi terakhir dari Alat Baris Perintah.
sumber
Di ubuntu 14.04, saat menjalankan apt-get install rubygems , ada kesalahan
ikuti perintah memecahkan masalah.
sumber
Coba
brew install coreutils
.Saya mengalami masalah ini saat membangun kembali proyek penuaan / kompas yang menua yang baru saja diperbarui menjadi ruby 2.2.5 oleh seorang rekan. Proyek ini menggunakan rvm dan bundler. Ini adalah perintah saya
Ini menyebabkan saya mengenai
ffi
kesalahan instalasi terkenal , yang dilaporkan di sekitar lingkungan StackOverflow:Sebagian besar saran untuk mengatasi masalah ini adalah menginstal alat baris perintah Xcode. Namun ini sudah diinstal di lingkungan saya:
Saran lain untuk menginstal gcc ... jadi saya mencoba:
Tapi ini juga gagal karena kesalahan segmentasi ...
¯\_(ツ)_/¯
.Jadi, saya kemudian mencoba menginstal kompas dengan tangan, hanya untuk melihat apakah itu akan memberikan
ffi
kesalahan yang sama :Tetapi yang mengejutkan saya, saya mendapatkan kesalahan yang sangat berbeda:
Jadi saya mencari masalah itu, dan menemukan posting blog kuno yang mengatakan untuk menginstal coreutils:
Setelah menginstal
coreutils
dengan Homebrew, bundler berhasil menyelesaikan dan menginstal kompas dan dependensi dengan sukses.Tamat.
sumber
sumber
kapan
Dijalankan juga kesalahan ini telah ditempatkan di terminal.
tolong lakukan hal yang sama
dan itu akan memperbaiki masalah itu juga
sumber
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
. Ini tidak memperbaikinya.Untuk Mac OS:
Kesalahan saya adalah saya lupa memilih opsi di XCode - Preferensi - Lokasi - Alat Baris Perintah setelah instalasi XCode baru (saya punya 2 versi dan kemudian saya menghapus satu). Mungkin itu akan membantu seseorang.
sumber
Coba ini, lalu coba pasang kompas lagi
sumber
Saya memiliki masalah yang sama pada Linux Mint tetapi saya dapat memperbaikinya dengan menghapus ruby dan menginstalnya lagi.
Copot ruby:
Ini melaporkan beberapa paket ruby seperti:
Copot paket yang tersisa *
Pasang ruby lagi
Instal Kompas
Perintah terakhir dijalankan dengan sukses.
sumber