首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rake rails:freeze:gems和rake gems:unpack有什么区别?

rake rails:freeze:gems和rake gems:unpack有什么区别?
EN

Stack Overflow用户
提问于 2010-01-28 05:40:39
回答 1查看 3.1K关注 0票数 7

据我所知,rails:freeze:gems和rake gems:unpack都把宝石放到了/vendor上。rails:freeze:gems把它们放到/vendor/railsgems:unpack把它们放到/vendor/gems。然而,对我来说,这一点似乎是相同的。在这两种情况下,目标都是在开发过程中修复gem及其版本。还有其他区别吗?在我看来,它现在是一个复制品..

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-28 06:03:28

据我所知,gem:unpack会将你的应用所需的任何第三方gem解包到供应商/gem中。

冻结: gems只会冻结那些与rails本身有关的gem,因此它会将你的应用程序冻结到特定版本的rails。这样就出现了不同的/供应商/rails目录。

更多的评论:

在config/environment.rb ment.rb中有这一行

# Specifies gem version of Rails to use when vendor/rails is not present RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION

因此,默认情况下,rails将检查供应商/rails目录是否存在,如果存在,则使用这些gem的版本。如果没有,您必须设置它将使用哪个版本的rails,rails将尝试从您的本地系统中获取gem。

因此,我看到的这两个命令之间的唯一区别是,rails:freeze:gems只将rails文件转储到供应商/ rails中,这正是rails希望它们位于的位置。

你想使用gem:unpack的原因是丢弃你的应用程序所依赖的第三方gem,这样无论你的应用程序在哪里运行,这些gem都不需要在本地安装。

您可以将rails:freeze:gems看作一种快捷方式,它只将rails gem的供应商放入rails期望的目录(/ gem:unpack /rails),这样您就不必手动执行此操作。但在幕后,我预计rails:freeze:gems可能会使用gem:unpack

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

https://stackoverflow.com/questions/2150451

复制
相关文章

相似问题

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