我在我的服务器上运行着一个 Rails 2.3.8 应用程序,以及其他依赖的 gem,它们通常需要旧版本而不是支持 Rails 3 的新版本。
我没有在我的 VPS 上运行过apt-get update
。apt-get upgrade
我担心运行其中任何一个都可能会将我的 Rails 和其他 gem 升级到最新版本,从而破坏我的应用程序。
我只是想更新我的 Ubuntu 系统,例如安全更新等,而不触碰任何应用程序。
那么,我应该跑什么?
谢谢。
答案1
如果您在安装安全更新(使用 可以正确完成apt-get upgrade
)后系统出现任何问题,那么一般来说,这是升级包中的一个错误。
当然,这是假设您没有做奇怪的事情,例如混合发行版本或使用第三方存储库——在这种情况下,一切都将不复存在,您完全靠自己。所以不要这样做。
答案2
如果您想确保您的 gem 不会在服务器更新/升级期间升级,您可以将特定的 gem 版本添加到您的 environment.rb 文件中。
举个例子,除了声明 gem 名称之外,你还可以添加版本号:
config.gem 'delayed_job', :version => '~>2.0.4'
上面这行代码将确保安装 delayed_job gem,但只安装 2.0.4 的特定版本。
我注意到您说您不想碰应用程序。我认为如果不先手动添加 gem 版本号(如我上面所述),您无法实现服务器范围的更新。
添加版本号后,您应该能够运行“apt-get update”和“apt-get upgrade”,而不必担心应用程序会崩溃。据我所知,当您更新/升级服务器时将要安装最新版本的 RoR,但它不会删除版本 2.3.8。