你检查你的rvmrc文件?

时间:2010-08-27 09:41:52

标签: ruby version-control rvm

Ruby Version Manager允许我们在每个项目中使用.rvmrc文件来设置要加载的ruby版本和gem集合。该文件是否应该签入源代码管理?或者这对其他开发人员的工作环境有太多假设?

2 个答案:

答案 0 :(得分:31)

源控制管理主要是关于再现性:您是否能够根据SCM中存储的内容重现开发工作的版本?

如果项目中的任何开发人员需要.rvmrc文件才能工作(使用正确的工件),那么是的,您应该对其进行版本化。

RVM Best Practices中所述:

  

否。 2 - 将您的rvmrc检查为源代码管理。

     

通过在应用程序旁边检查上述rvmrc到源代码控制,确保所有用户在使用rvm 时拥有一致的环境。

     

通过自动化gemset安装等(例如,查看rvm-site存储库中的rvmrc或TEDxPerth repostory的rvmrc),您也可以像更改目录一样简单。

     

除此之外,您还可以自动将部署设置为特定于应用程序的环境。

其他开发人员可以通过以下方式在其RVM上使用gemsets:

echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc

这将使他们始终使用默认的gemset。

答案 1 :(得分:11)

我实际上建议不要在SCM中保留.rvmrc。两个具体原因:

  1. 如果您使用gemsets,则强制其他开发人员使用相同的gemset(而有些人可能更愿意在全局gemset中拥有所有宝石)。

  2. 您使其他开发人员难以在不同的Ruby版本上运行该项目。当然,在生产时它可能会在1.9.2-p290上运行,但为什么我不允许在1.9.3-p0本地运行应用程序?

  3. 通常它会对每个开发人员执行过多的操作(与database.yml相同的故事,也不应该保留在SCM中)。 “生产运行”Ruby版本项目自述文件中的注释就足够了。