1

Среда: Mac OSX 10.8.3; Ruby 1.9.3-p392 через rbenv; ST2 версия 2.0.1 сборка 2217;

Я установил плагин Ruby Markers для ST2 и gem rcodetools (который требуется для плагина)

Однако при запуске плагина (из меню или горячей клавиши) в файле ruby я получаю ошибку ST2

There was an OS error: No suce file or directory

Я искал это, и большинство людей сказали, что это из-за отсутствия ruby в ST2 $ PATH, но, насколько мне известно, это не так, и нормальная команда сборки Ruby работает нормально.

Кто-нибудь сталкивался с этой проблемой раньше, и / или есть решение. Я хотел бы, чтобы этот плагин работал.

3 ответа3

1

Как показало ваше исследование, это ошибка, потому что переменная ST2 $PATH не содержит путь ruby (собственно, путь xmpfilter). Это происходит потому , что ST2 не загружается в сеансе пользователя по умолчанию, и так как вы используете rbenv среду рубинового добавляется в $PATH в файле конфигурации оболочки (т.е. .bashrc

Настройки по умолчанию для плагина предполагают, что у вас многопользовательская установка ruby, а не однопользовательская установка. Для Ruby Markers существуют специальные настройки как для rvm, так и для rbenv управляемых установок ruby. Используйте "check_for_rvm": true или "check_for_rbenv": true чтобы использовать xmpfilter с управляемой установкой ruby.

1

Отвечаю сам, как я понял, и кто-то может найти этот вопрос.

rbenv устанавливает исполняемый файл gem для xmpfilter (часть гема rcodetools, используемого для Ruby Markers) в свой каталог shims, и нужно указать ST2/Ruby Markers, где он находится.

Сначала в терминале подтвердите, где находится xmpfilter

$ which xmpfilter

Это должно быть что-то вроде /Users/name/.rbenv/shims/xmpfilter

Затем в ST2 перейдите в Preferences-Package Settings-Ruby Markers-User-Settings и вставьте следующее, используя путь, найденный в предыдущем шаге

{
    "xmpfilter_bin_posix": "/path/to/xmpfilter"
}
0

У меня было несколько проблем с rbenv, которые я обобщу ниже для других:

  1. Убедитесь, что обнаружение rbenv включено: "check_for_rbenv": true
  2. Убедитесь, что вы установили rcodetools и запустите rbenv rehash
  3. Если вы установили rbenv с помощью homebrew, текущая версия плагина не сможет обнаружить это (ожидается, что rbenv в ~/.rbenv/bin/rbenv в соответствии с методом установки rbenv git
  4. Плагин не соблюдает соглашение rbenv .ruby-version, так как он не меняет каталог при выполнении процесса xmpfilter . У меня есть открытый запрос на разветвление, которое исправляет это

Сообщение блога

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .