Ruby в Windows: Require не распознается как внутренняя или внешняя команда - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь использовать 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% переменная окружения.Но я не понимаю, как это исправить в данном конкретном случае.

1 Ответ

0 голосов
/ 18 сентября 2018

Ruby и DOS Batch - два совершенно разных языка программирования, которые абсолютно не связаны друг с другом.Вы просто не можете ожидать, что интерпретатор для DOS Batch сможет запускать код Ruby и наоборот.(Особенно если учесть, что Ruby даже не существовало, когда было написано CMD.EXE, так как же CMD.EXE может знать, как интерпретировать код Ruby?)

Вам необходимо запустить код Ruby в интерпретаторе Ruby (илииспользуйте компилятор Ruby, чтобы скомпилировать его для чего-то, для чего у вас есть интерпретатор).

...