试图在Windows 7上的Rails(版本4.0.0)上重新安装Ruby(版本2.0.0)

时间:2013-07-21 03:46:37

标签: ruby-on-rails gem railsinstaller

我安装了Ruby-on-Rails,但它是Ruby版本1.9.3。它是通过Railsinstaller安装的。由于我刚刚开始使用RoR,我想从最新版本开始,通过Ruby on Rails教程。 Rails很容易更新,但不是Ruby本身。

我卸载了现有的RailsInstaller,删除了c:\ Railsinstaller目录并下载了最新版本的RailsInstaller,版本3.0.0-alpha.1。

安装后,它会启动一个命令提示符窗口,该窗口应列出git,ruby和rails的安装信息。相反,我得到了这个错误:

The system cannot find the path specified.

 Rails Environment Configuration.  
C:/RailsInstaller/scripts/config_check.rb:28:in ``': No such file or directory -  
 rails -v (Errno::ENOENT)  
        from C:/RailsInstaller/scripts/config_check.rb:28:in `run'  
        from C:/RailsInstaller/scripts/config_check.rb:83:in `<main>'  
C:\Sites>

第28行是该块的一部分:

def run(command)
  $stderr.puts "Running #{command}" if Config[:debug]
  %x{#{command}}.chomp
end

和第83行是'puts'块的内部:

  version:    #{run "rails -v"}

手动运行“rails -v”

C:\Sites>rails -v
'rails' is not recognized as an internal or external command,
operable program or batch file.

尝试“ruby rails.rb”     ruby:没有这样的文件或目录 - rails.rb(LoadError)

尝试手动安装rails gem

c:\Sites>gem install rails --version 4.0.0  

Fetching: i18n-0.6.4.gem (100%)  
Successfully installed i18n-0.6.4  
Fetching: atomic-1.1.10.gem (100%)  
Temporarily enhancing PATH to include DevKit...  
Building native extensions.  This could take a while...  
The system cannot find the path specified.  
ERROR:  Error installing rails:  
        ERROR: Failed to build gem native extension.  

    C:/RailsInstaller/Ruby2.0.0/bin/ruby.exe extconf.rb  
creating Makefile  


Gem files will remain installed in C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0  
.0/gems/atomic-1.1.10 for inspection.  
Results logged to C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/atomic-1.  
1.10/ext/gem_make.out  

gem_make.out只包含:

C:/RailsInstaller/Ruby2.0.0/bin/ruby.exe extconf.rb  
creating Makefile

我试图在Windows xp机器上安装Railsinstaller 3.0.0进行测试,并在安装后得到相同的错误,运行“rails -v”以同样的方式失败,但运行“gem install rails --version 4.0 .0“工作。

以前的安装中是否存在阻止新安装正常运行的内容?

我认为有些东西仍在尝试转到Ruby1.9.3 forlder和/或子文件夹并失败,但找不到任何引用该目录的内容。

2 个答案:

答案 0 :(得分:4)

经过一系列额外的研究和侧面帮助,发现了这个:

您已按照说明安装了RubyInstaller和DevKit,但在gem安装过程中,您会收到如下消息:

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:/ruby/bin/ruby.exe extconf.rb
C:/ruby/bin/ruby.exe: No such file or directory -- extconf.rb
(LoadError)

或者有时只是这样:

ERROR:  Error installing rdiscount:
       ERROR: Failed to build gem native extension.

       C:/Ruby187/bin/ruby.exe extconf.rb

这已经在我们这里和这里报告了。

经过长时间的来回调查,我们发现了两个可能的原因:COMSPEC环境变量(场景A)和AutoRun注册表设置(场景B),两者都描述如下:

情景A

使用命令提示符,调用以下命令:

SET COMSPEC

如果在输出中您看到与cmd.exe不同的内容作为该变量的值,请将其调整为使用cmd.exe

某些工具可能会更改命令处理器命令,这会干扰Ruby调用子进程。

更改并尝试再次安装gem。

情景B

如果问题仍然存在,请在同一命令提示符中调用以下命令:

REG QUERY "HKCU\Software\Microsoft\Command Processor"
REG QUERY "HKLM\Software\Microsoft\Command Processor" /s

单独执行每一行。运行后,会看到类似的内容:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
    CompletionChar    REG_DWORD    0x9
    DefaultColor    REG_DWORD    0x0
    EnableExtensions    REG_DWORD    0x1
    PathCompletionChar    REG_DWORD    0x9

信息列是Key,Type和Value。如果您看到名为AutoRun的密钥,则可能是您收到的错误的罪魁祸首。

AutoRun干扰Ruby搞乱子进程执行和结果,影响gem安装。请使用以下命令将其删除:

REG DELETE "HKCU\Software\Microsoft\Command Processor" /v AutoRun

完成后,尝试打开新的命令提示符并再次执行gem安装。

情景B最终成为罪魁祸首,一旦完成,事情就开始正常运作。

答案 1 :(得分:0)

我道歉,这实际上并没有回答你手头的问题,但我认为这对你来说仍然是有用的建议:

考虑下载Virtualbox并在其上安装一些Linux(Fedora,Ubuntu)并在该Linux虚拟机上进行Rails开发。它根本不会弄乱你的Windows系统,但用它开发Rails会容易得多。

几乎没有人在Windows上开发Rails,似乎每个人都使用Mac或Linux。而且我总是读到在Windows上设置它时遇到问题的人。当你在Linux上开发免费工具时,对我来说似乎不值得努力。

再次,抱歉这不是问题的正确答案。即使您找到问题的答案,我仍然建议您考虑这个建议。在Windows上,你可能会遇到更多Rails问题。