3

コンテクスト

私は最近、テキストマークアップ(コードと一緒にコードリポジトリで追跡するのに適しています)を使用して技術文書を作成したいソフトウェア開発プロジェクトに参加しました。プロジェクトはすでにRedmineを使用しているので、 Textileを使用して、他の開発者がさらに別のマークアップ言語を学習するのを避けたいと思います。実装が多少異なることは知っているので、POLSの精神で、Redmineが内部で使用しているRedClothを使用したいと思います。

私たちは、Windowsを含む複数のOSで開発し、展開しています。多くの利便性のために、またWindowsのみを使用する非技術者、非開発者ユーザーのために、スタンドアロンツールを使用して、できれば単一のインストーラーとしてデプロイされた技術文書をコンパイルできるようにしたいと思います。

私はRubyを100%使用したことがないので、しばらくお待ちください。このプロジェクトのためにRubyで開発する予定はありません。ただ、Windowsに正常にインストールする必要があり、残りはそこから処理します。

ヘルプが欲しかった

私はRailsアプリケーションを開発しておらず、これはデスクトップインストール用なので、「Linuxで使用するだけ」と言わないでください。インストールなどを行うDevKitをインストールしmake、スクリプトで「健全な開発環境」としてg++受け入れています。./configure

私は単純な問題を抱えており、単純な解決策を探しています。この問題をグーグルで検索すると、この問題は以前に報告されており、Linuxに切り替えるための推奨事項と、「宣伝どおりに機能する」と言われる人しか見つかりませんでした。

確認できる障害点のチェックリストの形式であっても、実際に助けてください。

環境

この問題は、Rubyのインストールの履歴がないWindows 7、64ビットマシンで発生します。現在、32ビットにアクセスできません。

Linuxのインストールは問題ではありません。

問題

Windows用のRubyインストーラー Ruby 1.9.2-p136と、RedClothのコンパイルに必要なRuby開発キット をダウンロードしました。DevKit-tdm-32-4.5.1-20101214-1400-sfx.exeどちらも、現時点でWindowsにRubyをデプロイするための現在推奨されているバージョンです(または私が読んだことがあります)。

私は指示に従っています、そして今のところとても良いです。RubyとDevKitの両方がデフォルトのパスにインストールされます(フォルダー名にスペースはありません)。config.yml新しいインストールを正しく指し、他には何も指しません。ruby dk.rb install正常に動作します。これで、Rubyインストールフォルダーにlib/ruby/site_ruby/devkit.rb、RubygemをコンパイルするときにDevKitへのパスを設定するコンパイルプリフックと呼ばれるファイルが表示されます。予想どおり、コードは正しいフォルダーを指しています。

gem install rdiscount --platform=ruby推奨されるコマンドを使用してインストールをテストすると、次のようになります。

C:\DevKit>gem install rdiscount --platform=ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing rdiscount:
        ERROR: Failed to build gem native extension.

"C:/Ruby192/bin/ruby.exe" extconf.rb

これは少し紛らわしいので、私は周りを見回し始めました、そして私はファイルlib/ruby/gems/1.9.1/gems/rdiscount-1.6.5/ext/extconf.rbファイルを見つけることができます。そのフォルダでそれを実行すると、次のようになりruby extconf.rbます。

Could not create Makefile due to some reason, probably lack of necessary libraries
and/or headers.  Check the mkmf.log file for more details.  You may need
configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=c:/Ruby192/bin/ruby
    --with-rdiscount-dir
    --without-rdiscount-dir
    --with-rdiscount-include
    --without-rdiscount-include=${rdiscount-dir}/include
    --with-rdiscount-lib
    --without-rdiscount-lib=${rdiscount-dir}/lib
c:/Ruby192/lib/ruby/1.9.1/mkmf.rb:678:in `flush': Broken pipe (Errno::EPIPE)
    from c:/Ruby192/lib/ruby/1.9.1/mkmf.rb:678:in `message'
    from c:/Ruby192/lib/ruby/1.9.1/mkmf.rb:690:in `checking_for'
    from c:/Ruby192/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
    from extconf.rb:5:in `<main>'

Windowsでコンパイルされない場所(現在、リンクが見つかりません)を読んだrdiscountので、指示に従って、ソースリポジトリ()からRedClothのソースコードをフェッチしましたgit clone git://github.com/jgarber/redcloth.git

指定されたディレクトリから試してみるとrake install、gem(diff-lcsおよびその他)が見つからないというエラーが表示されるので、を使用してそれらをインストールするgem install diff-lcs --version '=...'と、実際のインストールを開始できます。

そこに着くとrake、次のメッセージが失敗します。

(in c:/Users/carona/Desktop/redcloth)
rake aborted!
No such file or directory - gem build c:/Users/carona/Desktop/redcloth/redcloth.gemspec 2>&1
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.8/lib/bundler/gem_helper.rb:138:in ``'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.8/lib/bundler/gem_helper.rb:138:in `block in sh_with_code'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.8/lib/bundler/gem_helper.rb:137:in `chdir'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.8/lib/bundler/gem_helper.rb:137:in `sh_with_code'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.8/lib/bundler/gem_helper.rb:129:in `sh'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.8/lib/bundler/gem_helper.rb:42:in `build_gem'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.8/lib/bundler/gem_helper.rb:53:in `install_gem'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.8/lib/bundler/gem_helper.rb:31:in `block in install'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:634:in `call'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:634:in `block in execute'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:629:in `each'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:629:in `execute'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain'
c:/Ruby192/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:581:in `invoke'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2041:in `invoke_task'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in `block (2 levels) in top_level'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in `each'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2019:in `block in top_level'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2013:in `top_level'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:1992:in `run'
c:/Ruby192/bin/rake:31:in `<main>'

ただし、実際にはファイルc:/Users/carona/Desktop/redcloth/redcloth.gemspecが存在するため、どうすればよいかわかりません。

4

1 に答える 1

1

私は問題を2つまで追跡しましたが、その2つ目は私の「間違い」です。

  1. DevKit 4.5.1で配布されているMinGWツールは、Windows764ビットでは機能しません。彼らはこの問題を示した古いバージョンのMinGWを持っているようです。最新のMinGWツールをインストールし、コンパイルが許可されているツールを使用します。
  2. 最初はGitBashを使用して実行gem install RedClothしましたが、これにより、一部のパスがMakefile内では/C/...なくに変換されました。C:/明らかに、g++そして友人は与えられたファイルのどれも開くことができませんでした。ruby実行してgemから再インストールすると、cmd.exeすべての問題が修正されました。

私は今、幸せなインストールをしています。また、最初の問題をRubyInstallerチームに報告しました。

于 2011-01-20T14:52:56.407 に答える