所以,我有一个使用Commander Gem构建的CLI工具。
直接从bin
文件夹(bin/dynamised
(直接使用时,可执行文件可以正确执行,但是当我本地安装GEM,然后从命令行(dynamised
(运行它时,它似乎没有任何作用。
如果我将 puts 'WORKING'
添加到文件的顶部,我会发现,但别无其他。
编辑:
puts [$0, __FILE__].inspect
的输出:
来自bin: ["bin/dynamised", "bin/dynamised"]
来自安装的宝石: ["/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"]
链接到包含可执行文件的要点。
不太确定怎么了。
将脚本的最后一行更改为:
Dynamised::CLI.new.run if File.basename($0) == File.basename(__FILE__)
或简单地删除此冗余支票:
Dynamised::CLI.new.run