【问题标题】:Railties in Rails 2.3 project?Rails 2.3项目中的Railties?
【发布时间】:2011-06-23 17:01:09
【问题描述】:

我从一个新客户那里继承了一个小型 Rails 项目,不幸的是,以前的开发人员除了在生产环境中运行的 Rails 应用程序实例之外基本上没有留下任何信息。 (没有源代码库,没有文档,只是登录到生产服务器。)

检查服务器显示已安装 Rails 版本 2.3.8(由“config/environment.rb”中的版本号确认)但是当我尝试在本地开发人员上运行“ruby script/console”(或“server”)时我收到来自“vendor/rails/railties”中的文件的(基本上是致命的)错误消息,并在互联网上搜索“railties”显示了很多 Rails 3 文档。

我猜以前的开发人员/维护人员不知何故跨越了 Rails 2/3 流。我应该可以删除整个“vendor/rails”目录还是我遗漏了什么?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    您遇到了什么样的错误?你知道你的本地环境和生产环境是一样的吗?其他 Rails 2.3.8 项目在您的机器上运行良好吗?

    现在,我认为删除vendor/rails 应该没问题,但如果以前的开发人员在Rails 中对某些东西进行了猴子补丁,但直接vendor/rails 目录中。那么,你可能会遇到问题。

    这种方法可能有点乏味,但我可能会这样:

    • 将 2.3.8 克隆到我机器上的其他位置。
    • 将其签入某种形式的版本控制。
    • 将您的 2.3.8 版本从项目复制到新克隆的目录中。
    • 区分一下。

    这应该会告诉您之前的开发人员是否对 Rails 进行了任何重大和无关紧要的更改。

    祝你好运,因为这听起来不太好玩:(

    【讨论】:

    • +1 感谢您的建议,是的,我已经在新的开发虚拟机上设置了一个干净的 Rails 2.3.8 并将项目置于源代码控制之下,但我很想达到我可以运行测试,这可能是确定是否需要区分 Rails 本身的更简单方法......
    • @maerics 绝对不同意你的观点。我的想法是,如果它在尝试启动 consoleserver 时发生炸弹,那么它在尝试运行测试时会“同样地炸弹”。
    • 是的,运行测试时出现一组完全不同的错误(甚至尝试运行“rake db:migrate”);嗯,这个项目可能不会在卡片中......
    • @maerics 出于好奇,你最后做了什么?
    • 经过整整两天试图获得一个可以工作的开发环境(没有成功),我联系了安排我的咨询公司并告诉他们情况:基本上我们需要一个以前的开发人员给我一个工作快照在该项目中,现有的依赖项有太多冲突的依赖项(发现更多 Rails 2/3 混淆),我相信客户宁愿付钱给我添加他们需要的新功能,而不是对其他人的非工作环境进行逆向工程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2012-03-14
    • 2011-12-18
    • 1970-01-01
    相关资源
    最近更新 更多