代码之家  ›  专栏  ›  技术社区  ›  john c. j.

Ruby on Windows:Require不能识别为内部或外部命令

  •  -3
  • john c. j.  · 技术社区  · 6 年前

    我正试图使用guard监视asciidoctor文件中的更改。这里是 防护文件 官方文件:

    require 'asciidoctor'
    
    guard 'shell' do
      watch(/^mydoc\.adoc$/) {|m|
        Asciidoctor.convert_file m[0]
      }
    end
    

    它对我有用。但是现在,我正试图在不创建guardfile的情况下启动相同的东西——也就是说,我只想在windows cmd.exe中编写这些命令。

    但当我写的时候 require 'asciidoctor' 命令提示给我一个错误:

    “require”不被识别为内部或外部命令、可操作程序或批处理文件。

    嗯,我知道这样的错误消息通常与Windows有关 %Path% 环境变量。但我不明白如何在这种情况下解决它。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Jörg W Mittag    6 年前

    Ruby和DOS批处理是两种完全不同的编程语言,它们之间完全没有任何关系。您不能期望DOS批处理的解释器能够运行Ruby代码,反之亦然。(尤其是考虑到红宝石甚至不存在于 CMD.EXE 写的,所以怎么可能 CMED EXE 可能知道如何解释Ruby代码?)

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