在 Windows 7 x64 上安装 Ruby、Rails 和 DevKit 的问题 - 需要修复

Posted

技术标签:

【中文标题】在 Windows 7 x64 上安装 Ruby、Rails 和 DevKit 的问题 - 需要修复【英文标题】:Issues installing Ruby and Rails and DevKit on windows 7 x64 - fix needed 【发布时间】:2012-07-19 11:29:17 【问题描述】:

我在尝试安装 ruby​​ 和 rails 时遇到了许多问题。在清除以前安装的版本后,我已经尝试过没有和现在。

尝试运行“gem install rdiscount --platform=ruby”时出现以下错误:

C:\Windows\system32>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 (x86)/ruby-1.9.3/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 (x86)/ruby-1.9.3/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 (x86)/ruby-1.9.3/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 (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:440:in `try_link'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:552:in `try_func'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from C:/Program Files (x86)/ruby-1.9.3/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
    from extconf.rb:5:in `<main>'


Gem files will remain installed in C:/Program Files (x86)/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/rdiscount-1.6.8 for inspection.
Results logged to C:/Program Files (x86)/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/rdiscount-1.6.8/ext/gem_make.out

我已经按照说明运行了 DevKit 安装,它似乎可以工作。 Rails 以前可以工作,但现在不行。有人对如何使它工作有任何建议吗?还是卸载重试?

谢谢

保罗

【问题讨论】:

【参考方案1】:

我建议卸载并重新安装。另外我推荐使用来自http://railsinstaller.org/ 的 Rails 安装程序,根据我的经验,这是在 Windows 机器上安装 rails 和 ruby​​ 最轻松的方法。

【讨论】:

【参考方案2】:

您似乎在带有空格的目录中安装了 Ruby(与 DevKit 一起?)。

正如在 Ruby 自己的安装程序中指出的那样,不建议使用带空格的路径(这就是为什么默认为 C:\Ruby193

作为 DevKit 一部分的编译器 GCC 存在带空格的路径问题,因此也建议将 DevKit 的安装放置在 不带空格的路径中(例如C:\DevKit

所有这些在 RubyInstaller 和 DevKit installation instructions page 中都有提及

【讨论】:

感谢您的帮助,似乎我在“程序文件”区域安装了一个旧版本,这一切都搞砸了。 ...您是否认为目录名称中的连字符会产生类似的错误?例如'C:\Ruby200-x64' @JSmith 不确定您指的是什么,但空格与连字符不同(前者导致问题报告,而其他工作正常)。 我安装了 RDK,但由于某些原因没有读取环境变量。运行&lt;path-to-ruby&gt;\devkitvars.ps1 加载它们,一切顺利。 (An unrelated GH issue 提到这个错误通常与 gcc 有关,例如它没有被找到。这导致我检查 gcc 是否存在并且可以找到。)[附录:我的路径也包含一个破折号,类似于 J Smith。]

以上是关于在 Windows 7 x64 上安装 Ruby、Rails 和 DevKit 的问题 - 需要修复的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 7 x64 PC 上安装 node.js 的回滚

Windows 10 x64中的Ruby curb gem问题

Windows 上通过本地搭建 Jekyll环境

在 Windows 7 上安装 Ruby MYSQL2 gem

Windows 7 x64上的Delphi问题?

在 Windows 7 x64 上使用 pgxnclient 时找不到 pg_config 可执行文件