Заставить SublimeREPL использовать конкретную версию Ruby
Я установил 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 ответ
Во-первых, ваш 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
опцию меню вы можете использовать.