我安装了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和/或子文件夹并失败,但找不到任何引用该目录的内容。
答案 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问题。