2008-10-03 8 views
5

próby aktualizacji niektóre kamienie na komputerze z systemem Windows, a ja ciągle uzyskać to wyjście błędu do klejnotów, które nie mają skompilowane pliki binarne:Jak tworzyć instalacje Ruby Gems w systemie Windows przy użyciu MinGW do tworzenia i kompilowania?

opisano opcje konfiguracji: --with-opt-dir --without- opt-dir - z opcją-opt-include - bez-opt-include = $ {opt-dir}/include --with-opt-lib - bez-opt-lib = $ {opt-dir }/lib --with-make-prog --srcdir =. --curdir --ruby = c:/server/Ruby/bin/ruby ​​

Są to opcje konfiguracyjne, które są przewidziane do pliku ruby ​​extconf.rb podczas instalacji gem.

Zainstalowałem MinGW, więc powinienem mieć wszystko, czego potrzebuję do instalacji, tworzenia i kompilowania tych klejnotów. Jednak nie wiem, jak zmienić konfigurację dla RubyGems, aby po wywołaniu funkcji extconf.rb zawierała odpowiednie opcje wskazujące katalog zawierający MinGW.

Odpowiedz

3

Jest jeden DevKit, który może być tym, na co masz ochotę.

+0

Dzięki - nie wiedziałem, dopóki nie przeczytałem tego, że klejnoty muszą być skompilowane z tym samym kompilatorem, którego używa się w samym języku Ruby. W tym przypadku poszedłem w drugą stronę - zainstalowałem VC6 i z jednym dodatkiem do pliku nagłówkowego, wszystko działa dobrze. Dzięki. – Yardboy

1

Nie wiem, czy to działa z natywną Ruby Windows, ale jeśli używasz wersji Cygwin i masz zainstalowane pełne Cygwin (kompilatory itp.), To nie powinieneś mieć żadnych problemów - udało nam się używaj wielu klejnotów, które wymagają skompilowanych rzeczy.

-1

Ogólnie, z mojego doświadczenia wynika, że ​​kod zaprojektowany dla systemu uniksowego może być bardzo trudny do wykonania pracy na MinGW. Aby uzyskać szybki port, użyj CygWin. Lub wykonaj pełny port oprogramowania na hoście systemu Windows, w tym za pomocą natywnej powłoki systemu Windows i interfejsu API systemu operacyjnego - co jest dość drogie pod względem czasu, ale opłaca się, jeśli planujesz długoterminowo wspierać system Windows.

Nieznany ten konkretny pakiet oprogramowania, to tylko ogólna obserwacja, jak próbować przenieść do systemu Windows inne złośliwe fragmenty kodu.

0

Miałem ten sam problem.

Jedynym sposobem na znalezienie klejnotów, które nie miały wstępnie skompilowanych plików binarnych - takich jak parsetree - do uruchamiania w oknach, była rekompilacja źródła Ruby przy użyciu Mingw oraz skopiowanie kilku bibliotek i aplikacji z wizualnej instalacji w języku C++ Już to miałem. To, co skopiowałem, zawierało bibliotekę zlib, a także bibliotekę i aplikację iconv.

Uwaga: używam tego ustawienia jako konfiguracji testowej. Nie używałbym takiej konfiguracji do produkcji (bo kto wie, co się dzieje, gdy ty jesteś biblioteką z jednej dystrybucji do drugiej).

1

Yardboy,

Szkoda, że ​​nie wspomniał który gem próbujesz zaktualizować, wystarczy tylko umieścić tam wyjście opcji.

Ponadto niektóre z tych klejnotów wymagają nagłówków i bibliotek programistycznych, a nie tylko kompilatora (MinGW).

Plus, MinGW będzie działać tak długo, jak długo masz utworzoną kompilację Ruby: z MinGW.

Wykonano pewne prace, aby to ułatwić, ale kompilator, nagłówki i wymagania bibliotek są potrzebne na platformach, a nie tylko Windows.

można znaleźć więcej informacji i zasobów na my blog

Cheers.

Powiązane problemy