Ruby on Windows:要求不被识别为内部或外部命令

问题描述 投票:-3回答:1

我正在尝试使用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 windows cmd guard asciidoctor
1个回答
2
投票

Ruby和DOS Batch是两种完全不同的编程语言,它们彼此完全无关。您根本不能指望DOS Batch的解释器能够运行Ruby代码,反之亦然。 (特别是考虑到编写CMD.EXE时Ruby甚至不存在,那么CMD.EXE怎么可能知道如何解释Ruby代码呢?)

您需要在Ruby解释器中运行Ruby代码(或者使用Ruby编译器将其编译为您拥有解释器的东西)。

© www.soinside.com 2019 - 2024. All rights reserved.