使用ruby开发套件时出现问题

时间:2013-02-18 22:09:52

标签: ruby-on-rails ruby ruby-on-rails-4 rubygems

我从rubyinstaller.org/downloads获得的DevKit遇到了麻烦。我按照https://github.com/oneclick/rubyinstaller/wiki/development-kit的说明进行操作。当我通过运行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:/Program Files/ruby-1.9.2/bin/ruby.exe" extconf.rb
checking for random()... *** extconf.rb failed ***
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:/Program Files/ruby-1.9.2/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:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier
 failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:435:in `try_link
0'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:440:in `try_link
'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:552:in `try_func
'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:797:in `block in
 have_func'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:693:in `block in
 checking_for'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:280:in `block (2
 levels) in postpone'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:280:in `block in
 postpone'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:276:in `postpone
'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:692:in `checking
_for'
        from C:/Program Files/ruby-1.9.2/lib/ruby/1.9.1/mkmf.rb:796:in `have_fun
c'
        from extconf.rb:5:in `<main>'


Gem files will remain installed in C:/Program Files/ruby-1.9.2/lib/ruby/gems/1.9
.1/gems/rdiscount-2.0.7 for inspection.
Results logged to C:/Program Files/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/rdiscount
-2.0.7/ext/gem_make.out

如果您需要更多信息,请与我们联系。谢谢!

2 个答案:

答案 0 :(得分:1)

在包含空格的目录中安装开发工具包是一个麻烦的原因。

请勿使用C:/Program Files,而是使用其他目录,例如: C:/ProgramFilesC:/bin ...

另见

答案 1 :(得分:0)

由于评论中没有足够的空间,我将此放在此处。

我过去遇到过这样的问题。我能够通过他们获得,但我很快发现我运行RoR应用程序的服务器是基于Linux的。我发现Windows中的开发环境运行良好,但在将其推向生产时遇到了一系列问题。为了解决这个问题,我在一条无法确定的路径中安装了DevKit。我最终安装了C:\ railskit

下的所有内容

从那时起和过去几年,我已经使用这些工具开发了RoR应用程序

  • VirtualBox - 虚拟化开发环境
  • Ubuntu - 开发操作系统
  • KiTTY - 基于Windows的SSH工具(基于PuTTY)
  • SublimeText2 - Windows版本

我在开发环境中安装了Ruby on Rails,并使用Samba共享开发文件夹。我使用KiTTY进入SSH框并使用它来生成不同的控制器并运行webrick服务。我在Windows中的SublimeText2中完成所有编码。