为什么我的环境要求我运行bundle exec?

vic*_*ich 15 rake ruby-on-rails ruby-on-rails-3 gemfile

每当我运行rake命令(即rake routes)时,我都会收到此错误:

You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Using bundle exec may solve this.
Run Code Online (Sandbox Code Playgroud)

如果我运行bundle exec rake routes它的工作原理.

我希望能够简单地rake routes无需跑步bundle exec rake routes.

我已经查看了其他类似错误的问题并尝试了各种解决方案(如运行bundle update)无济于事.

另外,在我gemfile指定的gem 'rake', '0.9.2'

有什么建议?

luc*_*tte 8

尝试执行:

gem list
Run Code Online (Sandbox Code Playgroud)

您可能会看到为rake安装了几个版本.顺便说一句,bundle exec是在rails应用程序的上下文中执行代码的正确方法,请参阅此内容以获得良好的解释.因此,您可以使用别名来减少输入.

  • 你也可以用`export RUBYOPT = -rbundler/setup`开始你的shell会话,这就是`bundle exec`所做的. (2认同)