使用 commander gem 构建的 CLI 工具在安装后使用时无法正确执行
CLI tool built using commander gem doesn't execute correctly when used after being installed
所以,我有一个正在使用 commander gem.
构建的 CLI 工具
当直接从 bin
文件夹 (bin/dynamised
) 使用时,可执行文件成功正确执行,但是当我在本地安装 gem 然后从 运行命令行 (dynamised
) 它似乎什么也没做。
如果我将 puts 'WORKING'
添加到文件的顶部,我会看到它,但没有别的。
编辑:
puts [[=15=], __FILE__].inspect
的输出:
来自垃圾桶:
["bin/dynamised", "bin/dynamised"]
来自已安装的 gem:
["/Users/---------/.rbenv/versions/2.3.0/bin/dynamised", "/Users/---------/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/Dynamised-0.1.4/bin/dynamised"]
Link to gist 包含可执行文件。
不太确定哪里出了问题。
将脚本的最后一行更改为:
Dynamised::CLI.new.run if File.basename([=10=]) == File.basename(__FILE__)
或者简单地删除这个多余的检查:
Dynamised::CLI.new.run
所以,我有一个正在使用 commander gem.
构建的 CLI 工具当直接从 bin
文件夹 (bin/dynamised
) 使用时,可执行文件成功正确执行,但是当我在本地安装 gem 然后从 运行命令行 (dynamised
) 它似乎什么也没做。
如果我将 puts 'WORKING'
添加到文件的顶部,我会看到它,但没有别的。
编辑:
puts [[=15=], __FILE__].inspect
的输出:
来自垃圾桶:
["bin/dynamised", "bin/dynamised"]
来自已安装的 gem:
["/Users/---------/.rbenv/versions/2.3.0/bin/dynamised", "/Users/---------/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/Dynamised-0.1.4/bin/dynamised"]
Link to gist 包含可执行文件。
不太确定哪里出了问题。
将脚本的最后一行更改为:
Dynamised::CLI.new.run if File.basename([=10=]) == File.basename(__FILE__)
或者简单地删除这个多余的检查:
Dynamised::CLI.new.run