1

我已经让 Ruby、Rails、Rake 和朋友在 OSX 上使用 RVM 工作得很好,但是当我启动一个新的 shell(Terminal.app 中的新标签)时,rake 任务似乎“失去”了他们的环境:

$ rake my_module:my_task
Could not find uglifier-1.2.7 in any of the sources
Run `bundle install` to install missing gems.

如果我发出“rvm use”(我相信它只会打印当前的红宝石,但不会改变任何东西),那么它可以正常工作:

$ rvm use
Using /Users/username/.rvm/gems/ruby-1.9.3-p194
$ rake my_module:my_task   # works fine now!

启动新外壳时似乎会发生这种情况。我将 rvm 安装为单用户安装,我的 .bash_profile 底部有以下内容:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

我已经通过在该行之后放置一些 echo 语句来验证我的 .bash_profile 实际上正在执行;当我打开一个新选项卡时,我在命令行上看到了回声,所以它似乎正在工作。知道为什么 rake 在没有“rvm 使用”的情况下无法工作吗?

4

1 回答 1

2

尝试将 rvm ruby​​ 设置为默认 ruby

$ rvm use ruby-1.9.3-p194 --default

这应该每次都使用 rvm ruby​​-1.9.3-p194 作为默认值。

于 2012-08-04T18:07:36.063 回答