RubyMine显示错误消息:"运行开发错误:MyProject:Rails 3.x启动器脚本被发现而不是Rails 4.x一个"

dan*_*per 13 ruby-on-rails rubymine ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4

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

运行开发时出错:MyProject:找到Rails 3.x启动器脚本而不是Rails 4.x一个.您需要'/ Users/stackoverflowuser/RubymineProjects/MyProject/bin/rails'脚本来启动Rails服务器.请根据Rails 4.x文档更新服务器启动器.

我究竟做错了什么?

dan*_*per 21

"黑客"解决方案:

  1. 创建一个新的Rails 4项目: rails new MyTestRails4Project
  2. 复制MyTestRails4Project中的bin文件夹
  3. 将bin文件夹粘贴到刚刚迁移到Rails 4的项目中

更新

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

运行rake任务: rake rails:update


Dav*_*ens 13

接受的答案有点像黑客 - 听起来你还没有从Rails 3 - > Rails 4完成你的项目升级.

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

rake rails:update
Run Code Online (Sandbox Code Playgroud)

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

spring binstub --all
Run Code Online (Sandbox Code Playgroud)

  • @danilodeveloper,使用`rails:update`(或更有限的`rails:update:bin`)是_concretely_更好,因为它是上游支持的,因此保证继续工作(或获得弃用通知或记录的迁移路径)未来版本.围绕`bin /`内容进行复制可能会或可能不会在将来工作 - 如果他们在树或项目结构的其他部分添加新依赖项,则手动方法会让您自己独立. (4认同)
  • 我的答案的关键部分是使用`rake rails:update` - 这是确保从Rails 3升级时Rins 4放在正确位置的正确方法.Spring部分是免费奖励,如果你想使用它;-) (2认同)
  • 我认为这不比运行rake任务容易.谢谢戴夫! (2认同)