2013-04-03 19 views
18

chcę zainstalować gem, ale pojawia się następujący błąd:Jak włączyć obsługę rozszerzenia C w jRuby?

Building native extensions. This could take a while... 
ERROR: Error installing twitter-login: 
     ERROR: Failed to build gem native extension. 

     C:/nwcloud/jruby-1.7.2/bin/jruby.exe extconf.rb 
NotImplementedError: C extension support is not enabled. Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS or modify .jrubyrc to enable. 

Czytałem również this question z tym samym problemem, ale ja nawet nie wiem, jak włączyć obsługę z trzech opcji, bo don wiesz, jak przekazać -Xcext.enabled=true do JRuby lub ustawić JRUBY_OPTS lub zmodyfikować .jrubyrc, aby włączyć.

Czy ktoś może mi pomóc z moim początkowym problemem?

+0

Try przeglądając to: http://stackoverflow.com/questions/8283300/how-do-i-use-jruby-opts-with-rvm – fmendez

+0

Przepraszam, ale nie rozumiem, jak mogę to zaadaptować do mojego problemu. I nie mam .rvmrc w moim folderze projektu ..? – ada91

+1

To było przeznaczone do czytania między liniami wszystkich oferowanych rozwiązań. W tym przypadku przykład: eksport JRUBY_OPTS = "- 1,9 -J-XX: + CMSClassUnloadingEnabled -J-XX: + UseConcMarkSweepGC -J-XX: MaxPermSize = 256m -J-Xmx1024m" ", mówi, że JRUBY_OPTS jest" Zmienna środowiskowa i jeden sposób ustawiania jej jest taki. Nie wszystkie rozwiązania są dostępne w poręcznym formacie kopiowania/wklejania. – fmendez

Odpowiedz

20

.jrubyrc edycje sugerowane przez Rodrigo nie działa dla mnie (jdk 7u25/JRuby 1.7.4), ale wywozu JRUBY_OPTS nie załatwi:

export JRUBY_OPTS="--1.9 -Xcext.enabled=true" 
+0

pracował dla mnie. Dzięki! –

+1

w Windows również działa dobrze z: ustaw JRUBY_OPTS = "- 1.9-Xcext.enabled = true" –

8

Upewnij się, że używasz najnowszego openjdk (7 aktualizacja 21, w chwili pisania tego tekstu) i najnowszej wersji JRuby (1.7.4).

Utwórz plik o nazwie .jrubyrc w folderze domowym użytkownika.

dodać następujące;

cext.enabled=true 

zrobić

+0

czy możemy dokonać konfiguracji specyficznej dla projektu, a nie specyficznej dla maszyny Ustawiać? – Pravin