rails应用程序中Rails的本地副本

时间:2009-07-17 21:29:58

标签: ruby-on-rails

我最近将我正在处理的rails项目从2.0.5升级到2.3.2。我注意到在vendor / rails中有一个2.0.5 rails文件的本地副本,我想知道我是否应该将2.3.2 rails文件的本地副本放在那里或者只是将它们留下来?什么是更好的做法?

2 个答案:

答案 0 :(得分:3)

是。位于vendor/rails的Rails副本实际上优先于系统范围内安装的Rails gems使用 - 换句话说,虽然您升级了Rails安装,但您的应用程序实际上仍在2.0.5上运行。

vendor/rails目录存在,因此您可以将应用程序“冻结”到特定版本的Rails,从而使其不易受到正在运行的计算机配置更改的影响。这是非常有用的,有一种自动管理目录的方法。要删除vendor/rails中现有版本的Rails,请转到Rails项目目录的根目录并执行以下操作:

rake rails:unfreeze

然后将系统中最新的Rails gem安装到vendor/rails,执行:

rake rails:freeze:gems

您可以使用vendor/rails执行其他一些操作。查看rake -T以获取完整的命令列表。

P.S。如果你听到有人谈论他们的Rails安装被“贩卖”,这就是他们的意思。

答案 1 :(得分:1)

与此同时,事情发生了一些变化。

rake rails:freeze

rake rails:unfreeze

已弃用。相反,你应该使用:

 bundle install --path vendor/bundle

bundle install --system

切换回来。