无法正确自动生成 Ruby DevKit 配置文件

Posted

技术标签:

【中文标题】无法正确自动生成 Ruby DevKit 配置文件【英文标题】:Can't get Ruby DevKit configuration file autogenerated properly 【发布时间】:2013-05-13 13:42:21 【问题描述】:

我已将 Ruby 2.0 与 Windows Ruby 安装程序、未打包的 DevKit (DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe) 安装到 Program Files 并运行

ruby dk.rb init

但是生成的config.yml 文件没有列出我的Ruby 路径。其内容如下:

# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
# - C:/ruby19trunk
# - C:/ruby192dev
#
---

如何让dk.rb生成有效的config.yml

【问题讨论】:

我也遇到了同样的问题。但是,如果您说的是真的,那么根据Development Kit Wiki,您已将 devkit 提取到 带有空格(程序文件)的目录中,这将不起作用。 如果你只是想安装 DevKit,而不是刮牦牛让它正确地自动生成 config.yml,你可以手动编辑 config.yml 以添加 - C:/Ruby200 (或任何您的安装位置)在ruby dk.rb install之前。 【参考方案1】:

问题似乎在于 Ruby 2.0.0 的 64 位版本在 Devkit 初始化脚本 (dk.rb) 不知道的位置创建了一个注册表项 ('Software\Wow6432Node\RubyInstaller\MRI') .

在更新 Devkit 安装程序之前,您可以通过在文本编辑器中打开 %DevKitExtractionDir%\dk.rb 并更改 REG_KEYS 数组以包含 64 位注册表路径来进行安装,因此它看起来像这样:

REG_KEYS = [
    'Software\RubyInstaller\MRI',
    'Software\RubyInstaller\Rubinius',
    'Software\Wow6432Node\RubyInstaller\MRI'
]

【讨论】:

并且在 dk.rb 更新后确保通过ruby dk.rb init重新生成 config.xml 这个问题和答案在将近3年之后仍然得到分数......修复这个小错误真的很难吗?【参考方案2】:

Ruby on rails devkit windows

config.yml 中绝对路径前面的破折号就是我所需要的。

- C:/Ruby....

另外,Ruby 和 Devkit 都特意位于我的 C 驱动器的根目录中,以避免在“Program Files”文件夹中出现空格问题。

【讨论】:

问题不在于如何手动编辑config.yml,而是如何使其自动生成有效config.yml【参考方案3】:

编辑config.yml 文件并为您的Ruby 目录提供如下路径

# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
 - C:/ruby21-x64
# - C:/ruby192dev
#
--- 

【讨论】:

以上是关于无法正确自动生成 Ruby DevKit 配置文件的主要内容,如果未能解决你的问题,请参考以下文章

为 pik 安装的红宝石安装 devkit

ruby on rails 中的 Devkit 函数

Ruby on rails devkit windows

Windows 中的 Ruby on Rails:安装 DevKit 时出错

在 Windows 7 x64 上安装 Ruby、Rails 和 DevKit 的问题 - 需要修复

DevKit ruby​​ dk.rb 初始化不起作用