Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyMine正在显示错误消息:“;运行开发时出错:MyProject:找到了Rails 3.x启动程序脚本,而不是Rails 4.x one“;_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 4_Ruby On Rails 3.2_Rubymine - Fatal编程技术网

Ruby on rails RubyMine正在显示错误消息:“;运行开发时出错:MyProject:找到了Rails 3.x启动程序脚本,而不是Rails 4.x one“;

Ruby on rails RubyMine正在显示错误消息:“;运行开发时出错:MyProject:找到了Rails 3.x启动程序脚本,而不是Rails 4.x one“;,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-4,ruby-on-rails-3.2,rubymine,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 4,Ruby On Rails 3.2,Rubymine,我正在将我的项目从Rails 3.2.12更新到4.0.0。 我做了所有必要的更正,但当我尝试使用RubyMine 5.4执行我的应用程序时,我收到以下消息: 运行开发时出错:MyProject:找到的是Rails 3.x启动程序脚本,而不是Rails 4.x one。您需要“/Users/stackoverflowuser/RubymineProjects/MyProject/bin/rails”脚本来启动rails服务器。请根据Rails 4.x文档更新服务器启动器 我做错了什么?“黑客”解

我正在将我的项目从Rails 3.2.12更新到4.0.0。 我做了所有必要的更正,但当我尝试使用RubyMine 5.4执行我的应用程序时,我收到以下消息:

运行开发时出错:MyProject:找到的是Rails 3.x启动程序脚本,而不是Rails 4.x one。您需要“/Users/stackoverflowuser/RubymineProjects/MyProject/bin/rails”脚本来启动rails服务器。请根据Rails 4.x文档更新服务器启动器

我做错了什么?

“黑客”解决方案:

  • 创建新的Rails 4项目:
    Rails新建MyTestRails4项目
  • 复制MyTestRails4项目中的bin文件夹
  • 将bin文件夹粘贴到刚刚迁移到Rails 4的项目中
  • 更新

    如果第一个解决方案不起作用,如RiPuk所建议的:


    运行rake任务:
    rake rails:update

    公认的答案有点像黑客——听起来你还没有完成从rails 3->rails 4升级项目

    首先要做的是运行rake任务,以交互方式将各种文件(环境、配置等)更新到Rails 4:

    rake rails:update
    
    然后假设您想使用Spring(当然可以!),运行以下命令:

    spring binstub --all
    

    这是一个与IDE配置相关的问题,一个快速解决方案是:

  • 关闭项目
  • 删除.idea文件夹
  • 开放项目
  • 利润
    如果不起作用,请尝试创建一个新项目(rails new project),并将db和app文件夹从原始项目复制到新项目,然后使用以下方法创建数据库:

    rakedb:schema:load


    我希望这会有所帮助。

    可能是一种“黑客”,但这是最简单的解决方案。您的解决方案可能也会起作用,但需要使用Spring,因为您知道许多人不能使用Spring,所以我的“hack”可以使用Spring,也可以不使用Spring。无论如何,你的解决方案是另一个解决方案,所以,我投了赞成票。我回答的关键部分是使用
    rake rails:update
    ——这是确保从rails 3升级时,将垃圾箱放在rails 4正确位置的正确方法。如果您想使用,Spring部分是免费的奖励;-)@danilodeveloper嗨,是的,我用最新版本的Rubymine做我所有的开发。@danilodeveloper,使用
    rails:update
    (或其更有限的
    rails:update:bin
    )具体来说更好,因为它支持上游,因此保证在未来的版本中继续工作(或获得弃用通知或有文档记录的迁移路径)。在
    bin/
    中复制内容在将来可能会起作用,也可能不会起作用——如果它们在树或项目结构的其他部分上添加了新的依赖项,手动方法将让您自己完成。我认为这不会比运行rake任务更容易。谢谢你,戴夫!