1

Я установил SublimeREPL для использования с Ruby. Он пытается запустить код на Ruby 1.8.7, и я хотел бы, чтобы он работал на 1.9.3, а затем и на других версиях Ruby. Я не уверен, откуда она наследует окружающую среду. В настоящее время мой ПУТЬ это:

/home/user/.gem/ruby/1.9.3/bin
/home/user/.rubies/ruby-1.9.3-p547/lib/ruby/gems/1.9.1/bin
/home/user/.rubies/ruby-1.9.3-p547/bin
/home/user/.rvm/gems/ruby-1.8.7-p334@global/bin
/home/user/.rvm/rubies/ruby-1.8.7-p334/bin
/usr/lib64/qt-3.3/bin
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin
/home/user/bin
/home/user/bin
/home/user/.rvm/bin

(отформатирован для удобства чтения)
Я добавил следующее на страницу настроек SublimeREPL:

{
    "default_extend_env": {"PATH": "/home/user/.rubies/ruby-1.9.3-p547/bin/ruby:{PATH}"}
}

(так же, как и попытка обратного, "{PATH}:/home ...").
Попытка запустить repl приводит к ошибке:

/home/joe/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:296 ... (unimportant error)

Очевидно, что он не использует ruby 1.9.3. Как мне это изменить?

1 ответ1

1

Прежде всего, ваш PATH должен содержать только каталоги, а не конкретные файлы, поэтому значением "default_extend_env" должно быть /home/user/.rubies/ruby-1.9.3-p547/bin . Однако есть способ создать опцию меню для запуска PRY с бинарным файлом ruby в этом каталоге. Откройте каталог « Packages/User », выбрав « Preferences -> Browse Packages..., затем войдите в каталог « User . Оказавшись там, создайте следующую структуру каталогов: SublimeREPL/config/Ruby . Затем в Sublime создайте новый файл JSON со следующим содержимым:

[
  {
    "id":"tools",
    "children":[
      {
        "caption":"SublimeREPL",
        "mnemonic":"r",
        "id":"SublimeREPL",
        "children":[
          {
            "caption":"Ruby 1.9.3",
            "children":[
              {
                "command":"repl_open",
                "caption":"Ruby",
                "id":"repl_ruby",
                "mnemonic":"r",
                "args":{
                  "type":"subprocess",
                  "external_id":"ruby",
                  "encoding":"utf8",
                  "cmd":{
                    "linux":[
                      "/home/user/.rubies/ruby-1.9.3-p547/bin/ruby",
                      "${packages}/SublimeREPL/config/Ruby/pry_repl.rb",
                      "$editor"
                    ]
                  },
                  "soft_quit":"\nexit\n",
                  "cwd":"$file_path",
                  "cmd_postfix":"\n",
                  "autocomplete_server": true,
                  "syntax":"Packages/Ruby/Ruby.tmLanguage"
                }
              }
            ]
          }
        ]
      }
    ]
  }
]

и сохраните его как Packages/User/SublimeREPL/config/Ruby/Main.sublime-menu . Теперь, если вы идете в Tools -> SublimeREPL -> Ruby должна быть опция меню Ruby 1.9.3 вы можете использовать.

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