11

ここで頭がおかしくなりそうだったので、次のように質問します。

どうやってRuby Gem JekyllをWindowsにインストールするの?

Jekyll は fast-stemmer-1.0.0 に依存しており、ネイティブ拡張としてビルドする必要があります

RubyDevKitでこの便利なガイドを見つけて、Windows に「健全な」環境をインストールしましたが、動作しますが、fast-stemmer は依然として nmake を使用してバイナリをビルドすることに熱心であり、次のエラーが返されます。

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>gem install jekyll
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
        ERROR: Failed to build gem native extension.

C:/Ruby/bin/ruby.exe extconf.rb
creating Makefile

nmake

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl -nologo -I. -IC:/Ruby/lib/ruby/1.8/i386-mswin32 -IC:/Ruby/lib/ruby/1.
8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6  -c -Tcporter.c
cl : Command line warning D9035 : option 'Og-' has been deprecated and will be r
emoved in a future release
cl : Command line warning D9002 : ignoring unknown option '-G6'
porter.c
porter.c(31) : fatal error C1083: Cannot open include file: 'stdlib.h': No such
file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\cl.EXE"' : return code '0x2'
Stop.


Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/fast-stemmer-1
.0.0 for inspection.
Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0/ext/gem_make
.out

他の記事で提案されているように、 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin にある Visual Studio 2010 に付属の nmake を使用しています。しかし、それでもうまくいきません。

DevKit に付属の MSYS シェルから gem インストールを実行しようとしたので、その時点で Unix の make を使用していますが、Ruby に nmake の代わりに make を使用するように指示する方法がわかりません (および mkmf. rbも私を啓発しませんでした)。nmake の使用に熱中しており、上記のエラー メッセージでかなり失敗します。

これに関する助けがあれば大歓迎です!

更新 RubyInstaller.org から Ruby をインストールしていないことにようやく気付きました。インストーラーを使用して再インストールしたところ、DevKit を使用した jekyll のビルドが正常に機能するようになりました。

それを指摘してくれてありがとう!

4

2 に答える 2

6

あなたが従っている指示と混同があります。RubyInstaller DevKitの手順は、RubyInstallerでコンパイルされたバージョンのRubyを使用した拡張機能のインストールをサポートするために作成されました。

現在のディレクトリ(ビジュアルスタジオ)と、mswin32ベースのRubyを使用しているgemインストールの出力から、RubyInstallerまたはドキュメント化したDevKitでは機能しないことは明らかです。

RubyInstaller WebサイトからRubyとDevKitをインストールし、そこにある指示に従い、 VisualStudioとの混合を避けてください。

于 2010-09-04T01:14:00.390 に答える
1

それはどこmswin32から来たのですか?MRI の mswin32 ポートで DevKit を使用していますか? DevKit は、現在の MRI および YARV の MinGW ポート専用です。mswin32 ポートでは動作しません (ところで、これはかなり前から廃止されています)。

mswin32 ポートを使用する場合は、多かれ少なかれ独力です。特に、Microsoft Visual C++ 6.0 を使用する必要があります。これは、mswin32 ポートがコンパイルされたものであり、それ以降のバージョンの Visual C++ はバイナリ互換性が保証されていないためです。Visual C++ 10.0 (使用していると思われるもの) が機能しません。gem install --platform=mswin32 fast-stemmerまたはを明示的に呼び出して、プラットフォームを強制してみてくださいgem install --platform=x86-mswin32-60 fast-stemmer。そうすれば、メンテナが事前にコンパイルされたバージョンを提供している場合、自分でコンパイルする必要はありません。

mswin32 ポートではなく MinGW ポートを使用する場合は、明示的に を呼び出してみくださいgem install --platform=ruby fast-stemmer。それでも解決しない場合は、試してくださいgem install --platform=x86-mingw32 fast-stemmer

于 2010-09-04T00:50:57.870 に答える