Kiedy próbuję zainstalować najnowszą wersję kompasu ( https://rubygems.org/gems/compass/versions/1.0.0.alpha.17 ), pojawia się następujący błąd.
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
Co tu się dzieje? Jak zainstalować najnowszy kompas bez błędów?
ruby
macos
terminal
compass-sass
sok owocowy
źródło
źródło
Odpowiedzi:
Spróbuj tego, a następnie spróbuj ponownie zainstalować kompas
źródło
choco install ruby2.devkit
Aby zainstalować kompas Na Mac OS X 10.10 (Yosemite) musiał wykonać następujące czynności:
1. Skonfiguruj środowisko Ruby
ruby -v
sudo gem update --system
2. Skonfiguruj środowisko MAC
Zainstaluj narzędzia wiersza polecenia Xcode. Jest to klucz do zainstalowania kompasu.
Instalowanie narzędzi wiersza polecenia Xcode jest kluczem do uruchomienia Compass w systemie OS X
3. Zainstaluj kompas
źródło
Najlepszym sposobem jest
sudo apt-get install ruby-compass
zainstalowanie kompasu.źródło
Możesz spróbować w Debianie
dla Fedory, Centos
To zadziałało dla mnie.
źródło
make
.ruby-dev
zrobił trick stackoverflow.com/questions/20559255/…Walczyłem z tobą ten sam problem przez około 3 godziny. Na dzień
Compass 1.0.alpha19
dzisiejszy wymaganie dotyczy wersji 1.9.3 rvm.Istnieje kilka niepobranych wpisów, jednak dla mnie zadziałało:
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
i to zrobiło. Mam nadzieję, że to również dla ciebie działa!
źródło
rvm install ruby-2.1.2
ponieważ 1.9.3 nie jest już aktualizowanyAby rozwiązać ten problem, musiałem upewnić się, że mam najnowszą wersję Ruby i klejnotów
gem update --system
; Następnie musiałem się upewnić, że Xcode i narzędzia wiersza poleceń zostały zainstalowane:xcode-select --install
.źródło
xcode-select --install
zostało zrobione, ale to mi nie rozwiązujeW systemie Mac OS musisz zainstalować tę funkcję!
źródło
Cześć, wyzwaniem było uruchomienie go na komputerze Mac, więc i tak jest to rozwiązanie
rvm requirements
a następnie uruchomrvm install 2.1
gem install compass --pre
Nie jestem pewien, ale wersja Ruby na Mavericks nie obsługuje rozszerzeń natywnych itp., Więc jeśli wskażesz inną wersję Ruby, tak jak zrobiłem „2.1”, działa dobrze.
źródło
Nie jestem pewien, dlaczego żadne z nich nie jest oznaczone jako poprawna odpowiedź, ale wylądowałem tutaj za pomocą wyszukiwarki Google, więc przekażę to, co wiem ...
Metoda @ paul_g była dla mnie dość bliska, moje kroki na Mac OSx10.9 Retina:
--insecure
flagą dla problemów związanych z SSL) $\curl -sSL --insecure https://get.rvm.io | bash -s stable --ruby
rvm requirements --with-gcc=clang
Nie będziesz musiał aktualizować Ruby, ponieważ pobrałeś ostatnią stabilną wersjęgem install compass --pre
źródło
Jeśli używasz Ubuntu, powinieneś spróbować zainstalować niezbędną do kompilacji
Miałem problemy z instalacją klejnotów przy nowej instalacji Ubuntu, a to rozwiązanie zadziałało dla mnie.
źródło
Może być konieczne zainstalowanie narzędzi wiersza polecenia Apple, które prawdopodobnie nie są domyślnie instalowane w systemie. Otrzymywałem ten sam błąd, ale przed wykonaniem którejkolwiek z instrukcji tutaj zainstalowałem Narzędzia wiersza poleceń (z powodu niezwiązanego problemu) i po ponownej próbie zainstalowałem bez problemu kompas. YMMV.
źródło
Aby zainstalować Compass na Yosemite, musisz skonfigurować środowisko Ruby i zainstalować narzędzia wiersza poleceń Xcode. Ale najważniejsze, po aktualizacji Xcode, należy uruchomić aplikację Xcode i zaakceptować warunki licencji Apple . To zakończy instalację komponentów. Następnie możesz zainstalować kompas: sudo gem install compass
źródło
W systemie macOS 10.14 Mojave upewnij się, że masz już zainstalowane narzędzia wiersza polecenia
xcode-select --install
i uruchom następujące polecenie, aby zainstalować nagłówki standardowe.Teraz spróbuj ponownie wykonać polecenie.
źródło
musisz mieć gcc, json_pure
zbieram informacje z kilku postów
Cześć, jeśli ** aktualizacja klejnotu sudo - system ** nie działa, masz błąd w aktualizacji, a następnie użyj
aktualizacja klejnotów sudo - system 2.7.8
źródło
sudo yum install -y redhat-rpm-config
Fedorę 24 przed zainstalowaniem kompasu z powodu tego błędu:gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
sudo gem update --system
dał mi błędy:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
:(W yosemite wystarczy zainstalować narzędzia wiersza poleceń. to działa.
Nawet jeśli inne klejnoty zostały zainstalowane poprawnie. Musisz uruchomić xcode-select --install, aby kompas do instalacji klejnotów działał.
Powodzenia.
źródło
Jeśli spróbujesz w systemie Mac OS X 10.9,
xcode-select --install
pojawi się następujący błąd:Rozwiązaniem jest pobranie narzędzi wiersza polecenia (OS X 10.9) bezpośrednio ze strony Apple: https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-
Będziesz wtedy mógł zainstalować ostatnią wersję narzędzi wiersza poleceń.
źródło
W Ubuntu 14.04 podczas wykonywania programów instalacyjnych apt-get Rubygems występuje błąd
wykonaj polecenie, aby rozwiązać problemy.
źródło
Próbować
brew install coreutils
.Natrafiłem na ten problem podczas przebudowy starzejącego się projektu sass / kompas, który został niedawno zaktualizowany do Ruby 2.2.5 przez kolegę. Projekt wykorzystuje rvm i bundler. To były moje polecenia
To spowodowało, że trafiłem na znane
ffi
błędy instalacyjne, które są zgłaszane w środowisku StackOverflow:Większość sugestii dotyczących rozwiązania tego problemu dotyczy instalacji narzędzi wiersza polecenia Xcode. Jednak zostało to już zainstalowane w moim środowisku:
Inne sugestie dotyczące instalacji gcc ... więc próbowałem:
Ale to również nie z powodu usterki segmentacji ...
¯\_(ツ)_/¯
.Próbowałem więc ręcznie zainstalować kompas, aby sprawdzić, czy spowoduje to ten sam
ffi
błąd:Ale ku mojemu zaskoczeniu dostałem zupełnie inny błąd:
Poszukałem więc tego problemu i znalazłem ten starożytny post na blogu, który mówi o instalacji coreutils:
Po zainstalowaniu
coreutils
z Homebrew firma pakująca była w stanie zakończyć i pomyślnie zainstalować kompas i zależności.Koniec.
źródło
źródło
kiedy
uruchamiany jest również ten błąd został umieszczony w terminalu.
proszę zrób to samo
i to również naprawi ten problem
źródło
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
. To nie naprawia tego.W systemie Mac OS:
Mój błąd polegał na tym, że zapomniałem wybrać opcję w XCode - Preferencje - Lokalizacje - Narzędzia wiersza poleceń po nowej instalacji XCode (miałem 2 wersje, a później jedną usunąłem). Może to komuś pomoże.
źródło
Spróbuj tego, a następnie spróbuj ponownie zainstalować kompas
źródło
Miałem ten sam problem na Linux Mint, ale udało mi się go naprawić, odinstalowując Ruby i instalując go ponownie.
Odinstaluj Ruby:
Zgłoszono niektóre pakiety ruby, takie jak:
Odinstaluj pozostałe pakiety *
Zainstaluj ponownie ruby
Zainstaluj kompas
Ostatnie polecenie zostało wykonane pomyślnie.
źródło