Force SublimeREPL para usar uma versão específica do Ruby

1

Eu instalei SublimeREPL para uso com o Ruby. Ele tenta rodar código no Ruby 1.8.7 e eu gostaria que ele rodasse no 1.9.3, e mais tarde em outras versões do Ruby. Não tenho certeza de onde é herdar o ambiente. Atualmente meu PATH é:

/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

(formatado para legibilidade)
Eu adicionei o seguinte à página de configurações do SublimeREPL:

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

(além de tentar o contrário, "{PATH}: / home ...").

A tentativa de executar a replicação resulta em um erro:

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

É claro que não está usando o ruby 1.9.3. Como eu mudo isso?

    
por Devon Parsons 08.01.2015 / 19:56

1 resposta

1

Primeiro, seu PATH deve conter somente diretórios, não arquivos específicos, portanto, o valor "default_extend_env" deve ser /home/user/.rubies/ruby-1.9.3-p547/bin . No entanto, existe uma maneira de criar uma opção de menu para executar o PRY com o binário ruby nesse diretório. Abra o diretório Packages/User selecionando Preferences -> Browse Packages... e, em seguida, digitando o diretório User . Uma vez lá, crie a seguinte estrutura de diretórios: SublimeREPL/config/Ruby . Em seguida, no Sublime, crie um novo arquivo JSON com o seguinte conteúdo:

[
  {
    "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"
                }
              }
            ]
          }
        ]
      }
    ]
  }
]

e salve-o como Packages/User/SublimeREPL/config/Ruby/Main.sublime-menu . Agora, se você for para Tools -> SublimeREPL -> Ruby , deve haver uma opção de menu Ruby 1.9.3 que você pode usar.

    
por 08.01.2015 / 22:04