Ruby on Windows: Require 未被识别为内部或外部命令
Ruby on Windows: Require is not recognized as an internal or external command
我正在尝试使用 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' is not recognized as an internal or external command, operable program or batch file.
好吧,我知道这样的错误消息通常与 Windows %Path%
环境变量有关。但是我不明白在这种特殊情况下如何解决它。
Ruby和DOS Batch是两种完全不同的编程语言,彼此之间没有任何关系。您根本不能指望 DOS 批处理的解释器能够 运行 Ruby 编码,反之亦然。 (特别是考虑到写 CMD.EXE
时 Ruby 甚至不存在,所以 CMD.EXE
怎么可能知道如何解释 Ruby 代码?)
您需要 运行 Ruby 在 Ruby 解释器中编写代码(或使用 Ruby 编译器将其编译为您拥有解释器的内容)。
我正在尝试使用 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' is not recognized as an internal or external command, operable program or batch file.
好吧,我知道这样的错误消息通常与 Windows %Path%
环境变量有关。但是我不明白在这种特殊情况下如何解决它。
Ruby和DOS Batch是两种完全不同的编程语言,彼此之间没有任何关系。您根本不能指望 DOS 批处理的解释器能够 运行 Ruby 编码,反之亦然。 (特别是考虑到写 CMD.EXE
时 Ruby 甚至不存在,所以 CMD.EXE
怎么可能知道如何解释 Ruby 代码?)
您需要 运行 Ruby 在 Ruby 解释器中编写代码(或使用 Ruby 编译器将其编译为您拥有解释器的内容)。