【问题标题】:In emacs, could not found bundle在 emacs 中,找不到捆绑包
【发布时间】:2015-04-17 14:44:50
【问题描述】:

我的系统是Mac OS X 10.10,我使用rvm来管理rails,在emacs的shell中,我运行

bundle exec rake test

我收到一个错误:

command not found: bundle

然后我安装了rvm.el,并在.emacs中启用,但错误仍然存​​在!

我该怎么办?

需要你的帮助!非常感谢!

我发现 iterm 中的 $PATH 与 emacs 的 shell 的 $PATH 不同。

我尝试在我的 .emacs 中添加 exec-path-from-shell,但还是不行!

(当 (memq 窗口系统'(mac ns))
(exec-path-from-shell-initialize))

ps:在 iterm 中的 $PATH 是:

/Users/zwb/.rvm/gems/ruby-2.2.1/bin:/Users/zwb/.rvm/gems/ruby-2.2.1@global/bin:/Users/zwb/.rvm/rubies/ruby-2.2.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/zwb/.rvm/bin

在 emacs 的 shell 中,$PATH 是:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/zwb/.rvm/bin

在 emacs 的 eshell 中,$PATH 与 iterm 相同。

【问题讨论】:

  • 我没有使用 emacs shell 的经验,但在正常情况下,此错误消息表明您尚未安装 bundler,或者它的可执行文件在某些​​情况下不在您的 PATH 中原因。
  • 你是对的!我发现 iterm 中 $PATH 的值与 emacs 的 shell 的 $PATH 不同!如何解决这个问题?
  • 恐怕我不知道,但我很高兴能帮上忙。也许您应该更新您的问题,因为您的问题似乎是在 emacs shell 中设置 $PATH 。我确实知道 RVM 为我的 .bash_profile 添加了一些魔法,使它能够正常工作 - 也许这是一个线索。
  • 感谢您的帮助!我会按照你说的更新我的问题。
  • 这可能是一个有帮助的 emacs 包,我用它为 eshell 正确设置 $PATH:github.com/purcell/exec-path-from-shell

标签: ruby-on-rails emacs rvm


【解决方案1】:

Here 是一个使我能够在 emacs 中运行 M-x ! RET bundle exec rake test 的解决方案。您必须在.emacs 中包含以下内容:

(if (not (getenv "TERM_PROGRAM"))
(setenv "PATH"
        (shell-command-to-string "source $HOME/.zshrc && printf $PATH")))

希望对你有帮助。

【讨论】:

    【解决方案2】:

    对我来说,Emacs 的 RVM 库解决了所有的难题:

    https://github.com/senny/rvm.el

    【讨论】:

      猜你喜欢
      • 2013-01-03
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      相关资源
      最近更新 更多