在Windows 7中,“ruby.exe未被识别为内部或外部命令”。

25
我的操作系统是Windows 7,我想要将本地MySQL数据库连接到Heroku共享数据库。但在某个时候,我遇到了“libmysql.dll文件丢失”的错误,于是我搜索并下载了dll文件,并将其保存在ruby / bin目录中。但是,在我再次尝试连接时,出现了“ruby.exe未被识别为内部或外部命令”的错误。以下是错误的样子。
发送模式(schema)。
'"ruby.exe"' is not recognized as an internal or external command,TA:  --:--:--
operable program or batch file.
'"ruby.exe"' is not recognized as an internal or external command,TA:  00:00:07
operable program or batch file.
'"ruby.exe"' is not recognized as an internal or external command,TA:  00:00:04
operable program or batch file.
'"ruby.exe"' is not recognized as an internal or external command,TA:  00:00:02
operable program or batch file.
'"ruby.exe"' is not recognized as an internal or external command,TA:  00:00:01
operable program or batch file.

Schema: 100% |==========================================| Time: 00:00:06 'ruby.exe' 未被识别为内部或外部命令、可执行程序或批处理文件。

C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/lib/vendor/okj
son.rb:82:in `valparse': unexpected nil (OkJson::ParserError)
    from C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/l
ib/vendor/okjson.rb:64:in `textparse'
from C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/l
ib/vendor/okjson.rb:43:in `decode'
from C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/l
ib/taps/operation.rb:419:in `push_indexes'
from C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/l
ib/taps/operation.rb:408:in `block in run'
from C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/l
ib/taps/operation.rb:203:in `call'
from C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/l
ib/taps/operation.rb:203:in `catch_errors'
from C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/l
ib/taps/operation.rb:405:in `run'
from C:/Program Files/Heroku/ruby/lib/ruby/gems/1.9.1/gems/taps-0.3.23/l
ib/taps/cli.rb:171:in `clientxfer'
from C:/Users/JOE ARPUTHAN/.heroku/client/lib/heroku/command/db.rb:194:i
n `taps_client'
from C:/Users/JOE ARPUTHAN/.heroku/client/lib/heroku/command/db.rb:35:in
 `push'
from C:/Users/JOE ARPUTHAN/.heroku/client/lib/heroku/command.rb:129:in `
run'
from C:/Program Files/Heroku/heroku:27:in `<main>'

1
Linux的回答:ruby不在你的$PATH中。我想在Windows中应该是%PATH% - Reactormonk
如果Boris的回答对你有用,请确保将其选为正确答案,也许对于你的其他问题也是如此。 - Paul Hoffer
我希望我能够双倍加这个!:D - Games Brainiac
1个回答

50

你的PATH变量中缺少ruby.exe的路径。

在Windows 7中,您可以通过以下方式设置:开始菜单 -> 右键单击 我的电脑 -> 左侧的最后一个选项(我认为是 高级设置)-> 环境变量 -> 在系统变量子菜单中找到 Path,双击它并添加;然后是Ruby安装的bin文件夹的路径。这将解决问题(您需要重新启动所有已启动的命令提示符)。


4
这对我有用,非常感谢Tazz和Boris。在命令提示符中输入“set path=%path%;"c:\Program Files\Heroku\ruby\bin"”解决了问题,再次感谢。 - joar
@TheFrost 对我来说,启动一个新的终端就足够了,没有必要重新启动整个系统。 - Boris Strandjev
@BorisStrandjev - 这对我没有用。你能在 https://stackoverflow.com/questions/25212246/java-programmer-need-help-to-install-and-setup-ruby 帮帮我吗?先谢谢了。 - james
一开始对我来说没用 - 记得重新启动你的电脑 - 之后一切都正常了。 - Morfidon
1
@Morfidon:你不应该需要重新启动整个机器——如果你是从cmd终端与Ruby交互,那么启动一个新的终端就足够了。 - Boris Strandjev
2
太棒了,听到一个回答,没有来自傲慢的开源群体的精英主义者的“扔掉你的Windows电脑,使用Linux”的回答。 - Christine

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接