首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >您已经激活了X,但您的Gemfile需要Y

您已经激活了X,但您的Gemfile需要Y
EN

Stack Overflow用户
提问于 2011-06-12 03:15:46
回答 8查看 73.9K关注 0票数 149

运行rake时,我收到以下错误:

你已经激活了rake 0.9.2,但是你的Gemfile需要rake 0.8.7。考虑使用捆绑包exec。

使用bundle exec rake而不只是rake似乎是可行的,但这是解决这个问题的最好方法吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-06-18 08:42:23

使用bundle exec是实现此目的的正确方法。

基本上,您已经将rake更新到0.9.2,这与Gemfile中指定的版本冲突。之前最新版本的rake与Gemfile中的版本相匹配,因此在简单使用rake时不会收到任何警告。

Yehuda Katz (最初的Bundler开发者之一)用this blog post解释了这一切。

为了避免总是键入bundle exec ...,您可以在shell中为经常用于Bundler的命令设置一个别名或函数。例如,这是我在Rake中使用的:

代码语言:javascript
复制
$ type bake
bake is a function
bake () 
{ 
    bundle exec rake "$@"
}
票数 100
EN

Stack Overflow用户

发布于 2018-05-26 19:47:49

试试bundle clean --force

它会删除不在此包中的所有系统gem

票数 91
EN

Stack Overflow用户

发布于 2011-06-12 03:19:45

上一次发生在我身上的时候,我已经更新了所有的gems。我做了一个gem uninstall rake,它列出了版本选项。我选择了较新的版本,这样我就不再需要使用bundle exec了。

基本上,如果你使用bundle exec,它使用你的包安装的任何gem版本,那么Gemfile中有什么。如果没有bundle exec,它将使用您的系统默认版本。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6317980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档