无法在Ruby 2.0.0中传递命令行参数

时间:2013-07-09 21:37:44

标签: ruby windows

我刚刚在Windows 7上安装了Ruby 2.0.0(使用“rubyinstaller-2.0.0-p247-x64.exe”)。我认为文件关联是可以的:

$> assoc .rb
.rb = rbfile

$> ftype rbfile
rbfile="C:\Ruby200-x64\bin\ruby.exe" "%1" %*

但是,我无法将任何参数传递给解释器。

所以如果我运行一个简单的脚本(test.rb):

puts ARGV[0]

它什么都没有:

>test.rb test1
>

我想我应该补充一点,直到昨天我安装了Ruby 1.9.3。我卸载了它,并安装了上面的(Ruby 2.0.0)。一切都曾经在Ruby 1.9.3中运行良好。

请帮助!!

感谢。

2 个答案:

答案 0 :(得分:3)

其他人过去曾使用Vista和Ruby 1.9 similar problems。它似乎与手动修改或旧版本的卸载有关。

干净安装" ruby​​installer-2.0.0-p247-x64.exe"在Windows 7上为我工作。 assocftype命令了解ruby。

> assoc .rb
File association not found for extension .rb

> ftype rbfile
File type 'rbfile' not found or no open command associated with it.

我建议您以管理员身份启动Shell并运行ftype rbfile=assoc .rb=来取消设置这些值。如果这没有帮助(进行备份),请删除包含rbfile的所有注册表项。正确的密钥使用RubyFileRubyWFileInnoSetup Script包含正确的注册表项。

答案 1 :(得分:0)

在Windows 7中为我工作:

  • 运行regedit
  • 查找HKEY_CLASSES_ROOT \ Applications \ ruby​​.exe \ shell \ open \ command
  • 确保"(默认)"条目说: (默认)REG_SZ" C:\ Ruby21-x64 \ bin \ ruby​​.exe" "%1" %* 当我检查时,我的%*丢失了。 当然,红宝石路径必须与安装红宝石的地方相匹配。