Как использовать правильный ruby ​​в vim?Как изменить $ PATH в VIM? - PullRequest
11 голосов
/ 24 марта 2012

Я использую обычный Vim с поддержкой ruby ​​на Lion (установлен gist ).Я использую ruby ​​с rbenv, так что мой путь выглядит как /users/me/.rbenv/shims: .....

Изнутри vim путь

:!echo $PATH
> usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/fb/.rbenv/shims:....

Даже я могусоздайте и измените переменную среды:

:let $PATH = "/bar:/foo"
:!echo $PATH
> /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/foo:/bar

пути остаются, начиная с /usr/bin.

Так как же я могу получить доступ к своему ruby ​​1.9.3 в ~ / .rbenv / shims вместосистемный рубин в / usr / bin?

Ответы [ 7 ]

30 голосов
/ 27 августа 2012

Это известная проблема, представленная Apple в OS X 10.5 Leopard .

Если вы используете Bash или Zsh и используете неинтерактивные оболочки, это влияет на вас.

Запуск sudo chmod ugo-x /usr/libexec/path_helper исправит вас, но вы должны взглянуть на статью, чтобы понять, почему.

5 голосов
/ 24 апреля 2012

RVM также имеет эту проблему.Если при запуске zsh используется оболочка по умолчанию, выполняется /etc/zshenv.

Выполняется /usr/libexec/path_helper.Это устанавливает путь на основе содержимого /etc/paths и /etc/paths.d/.

В разделе faq для rvm упоминается перемещение /etc/zshenv в /zsh/zshrc.Я сделал это, и он удалил /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin с начала моего пути в macvim.

4 голосов
/ 02 апреля 2012

Я не установил параметр shell в .vimrc, чтобы он автоматически устанавливался на /bin/zsh.

Затем я узнал, что у меня есть дублирующая инициализация rbenv: в моем .zshrc. Я удалил конец инициализации $ PATH extensioin в .zshrc, потому что это уже было обработано плагином oh-my-zsh rbenv.

Даже после этой очистки $ PATH все еще происходит, поэтому :!echo $PATH

/ USR / бен: / бен: / USR / SBIN: / SBIN: / USR / местные / бен: / USR / X11 / бен: /Users/fb/.rbenv/shims: /Users/fb/.rbenv / бен: / Users / FB / бен: / USR / местные / SBIN: / USR / игры

Установка :set shell=/bin/bash была тем, что помогло мне, так как я могу жить с bash в моем vim: :!echo $PATH

/ Пользователи / FB / .rbenv / прокладки: /Users/fb/.rbenv/bin: / Users / FB / бен: / USR / местные / SBIN: / USR / местные / бен: / USR / SBIN: / USR / бен: / SBIN: / бен: / USR / игры: / Users / FB / Dropbox / местные / Баш

2 голосов
/ 24 марта 2012

В вашем файле ~ / .bashrc (или любой используемой вами оболочке) добавьте следующую строку:

PATH=/home/me/.rbenv/shims:${PATH}

и затем запустите source ~/.bashrc (или .zshrc или любую другую оболочку, которую вы используетеиспользуя!)

1 голос
/ 15 февраля 2015

Я не использую mac или zsh (я в Linux), однако я столкнулся с этой проблемой, когда запустил gvim из меню MATE.

Я решил это, добавив это в мой .vimrc:

if $PATH !~ "\.rbenv"
    let $PATH="/home/username/.rbenv/shims:/home/username/.rbenv/bin:" . $PATH
endif

Это позволяет избежать установки, если вы запускаете vim из терминала, иначе пути rbenv будут включены дважды.

Я пытался настроить приложение для запуска через терминал, но это не помогло.

1 голос
/ 22 августа 2012

Это можно исправить, просто добавив

PATH=/home/me/.rbenv/shims:${PATH}

до

/etc/zshenv
0 голосов
/ 25 марта 2012

да, в OS X это bash_profile, который получается при открытии нового окна консоли, тогда как в Linux это ваш bashrc

...