4

これが私の現在の設定です:

  • マウンテン ライオン搭載の MacBook
  • Emacs はhttp://emacsformacosx.com/
  • グローバル 1.9.3-p374 の rbenv
  • ログインシェルは zsh

私の ~/.zprofile (ファイルが実行されることは確かです):

# Customize to your needs...
export PATH=/Users/username/.rbenv/shims:/Users/username/.nvm/v0.9.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin

eval "$(rbenv init -)"

M-x shell-command(または)でグローバルに定義された Ruby バージョンを使用したいM-!M-! ruby -v私は戻ってくることを期待してruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-darwin12.3.0]いますが、私は得ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]ます。

正しいバージョンで実行するruby -vと、ロードされます。非対話型シェルとして実行されるため、期待どおりに機能しないと思われますM-x shellM-!

次のようなものを実行する以外に、これを修正する方法はありM-! eval "$(rbenv init -)" && ruby -vますか? eval "$(rbenv init -)" &&これは機能しますが、実行するすべてのものの前に挿入したくありません。

4

1 に答える 1

4

シェルからのパスは Emacs によって認識される必要があり、それを容易にするために、次の elisp パッケージを使用します。

https://github.com/purcell/exec-path-from-shell

これは、el-get を使用してインストールするか、ディレクトリにドロップしてまたはファイル~/.emacs.d/lispに追加することで手動でインストールできます。~/.emacs~/.emacs.d/init.el

(add-to-list 'load-path "~/.emacs.d/lisp")
(unless (require 'exec-path-from-shell nil 'noerror)
  (exec-path-from-shell-initialize))

Lisp ファイルが残りの処理を行います。

于 2014-01-02T20:23:36.830 に答える