安装Railsgem时,rails.bat如何安装到bin目录下?

How does rails.bat get installed to the bin directory when installing the Rails gem?

我正在写一个 gem,当从 ruby 下载 gem 时,我需要一个 .bat 文件安装到 bingems。

rails gem 似乎做了类似的事情,因为在 运行 gem install rails 之后,rails.bat 文件出现在我的 ruby 安装目录(我在 windows,但我确定等效的 shell 脚本出现在 *nix 系统上)

我的问题是,rails.bat 是如何进入 bin 目录的,当用户安装我的 gem 时,我如何模仿这个动作将我的 .bat 文件放入 bin 中?

在 gemspec 中,您可以使用 executables 选项添加二进制文件。

Rails 通过添加 rails 可执行文件在其 railties.gemspec 中执行此操作,如下所示:

s.executables = ['rails']

Ruby宝石指南有 section on "Adding an executable"

gem install <gem-name> 负责在 Ruby 的 bin 文件夹

中创建 .bat 文件