Ruby - ExecJS не загружается (у меня есть подходящие материалы и местоположение PATH.) [Windows]
У меня проблема с ExecJS в том, что он не может найти требуемое время выполнения. Я использую Windows, и на моем компьютере установлены Windows CScript и Node.js, но ни один из этих парней не вызывается.
В результате я не могу запустить любую задачу rails, которая включает это (я даже не могу загрузить свой список граблей в RubyMine для вызова таких действий, как db:create для создания моих баз данных из нового проекта.)
Я могу получить доступ как к csript, так и к узлу из командной строки, и я проверил мои переменные окружения и их правильное расположение файлов в PATH. Что-то еще разрушает мою способность использовать ExecJS. У кого-нибудь еще был подобный опыт, когда у вас были все правильные вещи, но что-то все еще идет не так?
2 ответа
Когда Ruby порождает дочерний процесс для вызова CScript или Node, он будет использовать те же правила, которые позволяют cmd.exe
выполнить их из командной строки.
Но иногда вещи в вашем реестре или переменные среды могут повлиять на этот процесс.
В проекте RubyInstaller мы собрали ряд элементов для устранения неполадок, которые могут быть причиной.
Пожалуйста, проверьте это COMSPEC
переменная окружения установлена для использования cmd.exe
и ничего подобного TCC/LE или другим вещам.
C:\>SET COMSPEC
Кроме того, убедитесь, что ваш реестр не содержит AutoRun
ключ, который также повлияет на Ruby.
C:\>REG QUERY "HKCU\Software\Microsoft\Command Processor"
C:\>REG QUERY "HKLM\Software\Microsoft\Command Processor"
Если вы видите ключ AutoRun
в одной из приведенных выше команд это означает, что что-то настроено для автоматического выполнения каждый раз, когда новый cmd.exe
запускается, что плохо в некоторых случаях.
Пожалуйста, следуйте инструкциям на странице устранения неполадок о том, как его удалить.
Это также влияет на установку gem, которая требует компиляции, но если она не дает сбоя, проблема может быть в другом.
Надеюсь, это поможет.
У меня были похожие проблемы, мое базовое скелетное приложение не запускалось, несмотря на то, что у меня установлен Node.js, а затем пробовал gem therubyracer. В конце концов я решил использовать мантру для устранения неполадок с окнами: "Если сомневаешься, запускай от имени администратора" Поэтому я запустил мой rails cmd в качестве администратора, и после этого он работал нормально.