Использование RVM с GVim (Cream): команда rvm не найдена - PullRequest
6 голосов
/ 17 июня 2010

Я пытаюсь перейти на GVim (крем) в качестве основного редактора в Ubuntu. Я использую замечательный rails.vim, но я также использую RVM.

Rvm отлично работает при работе в оболочке, и версия ruby, которую я хотел бы использовать в rails.vim - это версия, установленная по умолчанию (но не системная версия).

Когда я пытаюсь запустить такие вещи, как

:Rgenerate migration migration_name

Я получаю:

...
Missing Rails 2.3.8 gem.
...

Если я попытаюсь:

:!rvm use default

Я получаю:

/bin/bash: rvm: command not found

Очевидно, что cream / gvim не использует мой .bashrc. Что я могу сделать, чтобы исправить это и заставить его работать? Спасибо.

Ответы [ 8 ]

4 голосов
/ 24 июня 2010

Попробуйте запустить cream из командной строки, если это решит проблему, вы можете указать пункт меню на скрипт, который открывает крем в контексте приглашения bash.

3 голосов
/ 04 июля 2011

Это потому, что вы используете сценарии rvm в своем файле .zshrc.MacVim не создает файл .zshrc, но создает файл .zshenv.

Добавьте следующую строку в ваш файл .vimrc.

set shell=/bin/sh
1 голос
/ 19 июня 2010

Вы, вероятно, использовали .bash_profile для добавления RVM-материалов в вашу среду bash.Увы, ~ / .bash_profile обычно не читается сценариями запуска X, как указано в Справка Ubuntu

Используйте .profile или .bashrc..Profile получает только bash, если .bash_profile там нет.Я бы использовал .bashrc.

0 голосов
/ 31 октября 2013

Запуск gvim из командной строки не работает для меня (в том смысле, что это не приемлемо).Когда я использую приложение с графическим интерфейсом, я хочу использовать его как графический интерфейс, без бесполезного затягивания оболочки в фоновом режиме.

Уловка 'set shell=', которая работает для пользователей Mac, не работает для меня,Как и вы, я использую Ubuntu.Даже установка оболочки на /bin/bash не делает этого.

Единственное, что я получил для работы, это это.Прежде всего, установите rvm.vim в дополнение к rails.vim .

Затем, когда вы откроете gvim / cream, перейдите в корневую папку вашего проекта и введите

:Rvm

Это приведет к тому, что rvm.vim прочитает ваш файл .ruby-version (или .rvmrc) и правильно инициализируется.

На данный момент,

:Rake
:Rgenerate

... и другие команды rails.vim должны работать просто отлично.

Обратите внимание, что вы также можете передавать аргументы в :Rvm так же, как при запуске rvm из оболочки.

0 голосов
/ 15 августа 2013

Добавьте эту строку в ваш ~ / .bashrc:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

И убедитесь, что она предшествует [ -z "$PS1" ] && return, который прекращает поиск остальной части файла, если bash не интерактивен.

А затем добавьте это в ваш ~ / .profile:

export BASH_ENV=$HOME/.bashrc

С этой строкой bash теперь будет получать исходный код $ HOME / .bashrc, когда он тоже работает не в интерактивном режиме.И сценарии GVim, и сценарии оболочки, которые вы выполняете двойным щелчком, теперь должны использовать RVM.

Примечание. Только команды :! (например: :!ruby, :!echo) будут использовать RVM в качестве таких команд, как :ruby и:echo не запускайте bash и, следовательно, не создавайте ~ / .bashrc.

0 голосов
/ 06 июля 2010

rvm устанавливается для каждой оболочки, поэтому, если вы запускаете новое окно или новую вкладку и используете что-то отличное от используемого по умолчанию интерпретатора и набора гемов, вам сначала нужно

rvm gemset use my_rails238_gemset

, а затем

vim myshiz

0 голосов
/ 28 июня 2010

Попробуйте rvm gem list, чтобы убедиться, что камень рельсов действительно установлен. rails (2.3.8) должен быть указан в списке. Если его не запустить rvm gem install rails.

Я пользователь vim, и rvm + rails.vim отлично работает для меня. Включая ваш :Rgenerate пример.

0 голосов
/ 24 июня 2010

rvm - это функция bash, которая изменяет среду bash.Кажется, он не должен запускаться изнутри vim.Вы не можете изменить среду уже запущенной программы.

...