我正在尝试使用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%
环境变量经常会出现此类错误消息。但是我不知道在这种情况下该如何解决。
答案 0 :(得分:2)
Ruby和DOS Batch是两种完全不同的编程语言,它们之间完全没有关系。您根本无法期望DOS Batch的解释器能够运行Ruby代码,反之亦然。 (特别考虑到在编写CMD.EXE
时Ruby甚至不存在,所以CMD.EXE
怎么可能知道如何解释Ruby代码?)
您需要在Ruby解释器中运行Ruby代码(或使用Ruby编译器将其编译为您具有解释器的对象)。