【问题标题】:Why does rails.bat work but rails does not?为什么 rails.bat 有效但 rails 无效?
【发布时间】:2011-09-06 16:20:49
【问题描述】:

当尝试在 Windows 中创建一个新的 Ruby on Rails 应用程序时,命令

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" %* 

【问题讨论】:

  • 您是否阅读了 rails.bat 以了解它与您在命令行中键入的内容有何不同?
  • 对不起,我不确定我明白你的意思。你能澄清一下吗?
  • 从命令提示符(如在C:> 中,输入type rails.bat 并按Enter。阅读屏幕上的内容。这与您尝试执行此操作时自己输入的内容有何不同手动?另外,我注意到您在 PATH 中添加了 ../ruby/bin...您确实意识到在 Windows 上使用 \ 而不是 / 用于路径分隔符?
  • 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" %*
  • 我知道 windows 与 *nix 的约定,但我认为这里的大多数人都在使用后者。帖子已更新。

标签: ruby-on-rails ruby windows ruby-on-rails-3 rake


【解决方案1】:

您必须下载适用于 Windows 的 railsinstaller 这将帮助您解决所有冲突 从rubyforge下载

【讨论】:

  • 嗯...如果 rails.bat 工作,显然 rails 已安装。这是路径问题或其他问题,下载安装程序不是答案。您可能想在开始收集反对票和失去代表之前删除它。
  • 老兄,你在 Windows 上使用 ruby​​,别忘了。我以前遇到过这个问题。相信我,照我说的做。在处理 Windows 上的 Rails 问题时,它有很大帮助。除非你想使用 mac os
  • “老兄”,那又怎样?如果安装了rails,就安装好了,你可以自己配置。您只需要安装程序即可安装 - 这就是它被称为“安装程序”的原因。
【解决方案2】:

根据您更新的问题,我可以假设 PATHEXT,负责了解要在没有扩展名的情况下执行的文件的环境变量缺少 .BAT。

要确认,请在新的命令提示符下执行SET PATHEXT 并查看输出,结果应该是分号分隔的值,包括.EXE、.BAT、.COM 和可能.RB

如果PATHEXT 为空或其中不包含.BAT,这可以解释为什么不起作用。

根据您的 Windows 版本,安装 RubyInstaller 可能会导致这种情况,在这种情况下,我建议您卸载并验证环境变量以查看是否恢复。

然后尝试重新安装。

请参阅this thread on RubyInstaller 了解此内容。

【讨论】:

  • 已经在使用 cmd.exe。从未使用过您引用的任何一个程序。 cmd.exe中存在问题
  • 请提供您收到的完整错误信息,以便我们更好地诊断问题。使用该信息更新问题。
  • 就是这样!非常感谢。
猜你喜欢
  • 1970-01-01
  • 2022-01-12
  • 2020-05-14
  • 2020-10-07
  • 2023-03-30
  • 2013-05-13
  • 2020-02-19
相关资源
最近更新 更多