11

Lion で Ruby をサポートするプレーンな Vim を使用します ( gist によってインストールされます)。rbenv で ruby​​ を使用しているため、パスは /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 で始まるままです。

/usr/bin のシステム Ruby ではなく、 ~/.rbenv/shims の Ruby 1.9.3 にアクセスするにはどうすればよいでしょうか?

4

7 に答える 7

30

これは、Apple が OS X 10.5 Leopard で導入した既知の問題です。

Bash または Zsh を使用していて、非対話型シェルを使用している場合、影響を受けます。

実行sudo chmod ugo-x /usr/libexec/path_helperすると問題は解決しますが、その理由については記事を参照してください。

于 2012-08-27T17:33:33.593 に答える
5

rvmにもこの問題があります。zshが起動時のデフォルトのシェルである場合、/etc/zshenv実行されます。

これは実行され/usr/libexec/path_helperます。/etc/pathsこれにより、内容とに基づいてパスが設定されます/etc/paths.d/

rvmのよくある質問では、への移動について言及し/etc/zshenvてい/zsh/zshrcます。私はこれを行い/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin、macvimのパスの先頭からを削除しました。

于 2012-04-24T03:38:59.463 に答える
4

shell.vimrc でオプションを設定しなかったため、自動的に .vimrc に設定されました/bin/zsh

次に、.zshrc で rbenv の初期化が重複していることに気付きました。.zshrcoh-my-zsh rbenv プラグインによって既に処理されているため 、初期化終了 $PATH 拡張を削除しました。

そのクリーンアップの後でも、 $PATH マンゲリングはまだ起こっているので:!echo $PATH

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/fb/.rbenv/shims:/Users/fb/.rbenv/bin: /Users/fb/bin:/usr/local/sbin:/usr/games

:set shell=/bin/bashvimでbashを使用できるため、 設定が役に立ちました::!echo $PATH

/Users/fb/.rbenv/shims:/Users/fb/.rbenv/bin:/Users/fb/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin :/sbin:/bin:/usr/games:/Users/fb/Dropbox/local/bash

于 2012-04-02T07:39:50.133 に答える
2

~/.bashrc (または使用しているシェル) ファイルに、次の行を追加します。

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

そして実行しますsource ~/.bashrc(または.zshrcまたは使用しているシェルです!)

于 2012-03-24T17:01:20.237 に答える
1

これは、追加するだけで修正できます

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

/etc/zshenv
于 2012-08-22T10:59:11.113 に答える
0

はい、OS Xでは、新しいコンソールウィンドウを開くときに取得されるのはbash_profileですが、Linuxではbashrcです

于 2012-03-24T22:33:54.443 に答える