在 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,但由于某些原因没有读取环境变量。运行<path-to-ruby>\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问题