我正在尝试使用Guard来监视AsciiDoctor文件中的更改。这是来自官方文档的Guardfile:
require 'asciidoctor'
guard 'shell' do
watch(/^mydoc\.adoc$/) {|m|
Asciidoctor.convert_file m[0]
}
end
这个对我有用。但是现在,我正在尝试在不创建Guardfile的情况下启动相同的东西 - 即我只想在Windows cmd.exe中编写这些命令。
但是,当我写require 'asciidoctor'
命令提示符给我一个错误:
'require'不被识别为内部或外部命令,可操作程序或批处理文件。
好吧,我知道这样的错误消息通常与Windows %Path%
环境变量有关。但我不明白如何解决这个特殊情况。
Ruby和DOS Batch是两种完全不同的编程语言,它们彼此完全无关。您根本不能指望DOS Batch的解释器能够运行Ruby代码,反之亦然。 (特别是考虑到编写CMD.EXE
时Ruby甚至不存在,那么CMD.EXE
怎么可能知道如何解释Ruby代码呢?)
您需要在Ruby解释器中运行Ruby代码(或者使用Ruby编译器将其编译为您拥有解释器的东西)。