当试图在Windows中创建一个新的RubyonRails应用程序时,命令
rails new test_app
返回错误
'rails' is not recognized as an internal or external command, operable program
or batch file
但是命令
rails.bat new test_app
效果很好。我添加了。。\ruby\bin目录到我的PATH变量,但它似乎没有改变任何东西。对于所有其他"rails"命令以及"rake"与"rake.bat",都会出现类似的问题。
运行type rails.bat
返回:
@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe" "C:/_LOCALdata/Ruby192/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby.exe" "%~dpn0" %*
根据您更新的问题,我可以假设PATHEXT,负责知道要执行的文件没有扩展名的环境变量丢失了。BAT来自它。
要确认,请在新的命令提示符上执行SET PATHEXT
并查看输出,结果应该是分号分隔的值,包括.EXE
、.BAT
、.COM
,可能还有.RB
如果PATHEXT
为空或其中不包含.BAT
,这可以解释为什么不起作用。
根据您的Windows版本,安装RubyInstaller可能会导致这种情况,在这种情况下,我建议卸载并验证环境变量,看看它是否得到恢复。
然后尝试重新安装。
请参阅RubyInstaller上的此线程。
您必须下载railsinstaller for windows,这将帮助您解决所有冲突从rubyforge 下载