首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >rails服务器的第一次本地引导非常慢。

rails服务器的第一次本地引导非常慢。
EN

Stack Overflow用户
提问于 2022-04-06 06:53:29
回答 1查看 363关注 0票数 0

在过去的15年里,我一直在ROR进行编程。

此时此刻,我使用的是:

  • puma 5.6.2
  • gem 3.3.4
  • rails 7.0.2.3
  • ruby 3.0.0p0
  • Linux 20.1
  • 4.8.6H 212H 113我的桌面CPU有一个AMD 8核处理器和32 GB RAM<代码>H 214F215/code>

当我开始编程时,我打开结束符或xterm并键入rails s -b 0.0.0.0,然后等待近3分钟以等待puma服务器准备就绪。如果我执行Ctrl并重新键入命令,那么准备工作所需的时间不到3秒。

我一直在网上冲浪,调查出了什么问题,尝试了我发现的每一个想法,但似乎没有任何效果。

同样的情况也发生在我用来开发的所有电脑上,比如我的笔记本电脑和我的家用台式机。

甚至我也创建了一个名为rails new speedboot的新测试应用程序,用于测试Gemfile中的宝石数量是否是问题所在。然后,在speedboot目录中运行rails s,服务器准备就绪需要3分钟或更长时间,所以Gemfile中的Gemfile数量不是问题。

如有任何意见或建议,将不胜感激。

我从rails s获得的输出是:

代码语言:javascript
运行
AI代码解释
复制
  warning: parser/current is loading parser/ruby30, which recognizes3.0.3-compliant syntax, but you are running 3.0.0.
  Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
  /home/addicttux/.rvm/gems/ruby-3.0.0/gems/pry-byebug-3.8.0/lib/pry-byebug/control_d_handler.rb:5: warning: control_d_handler's arity of 2 parameters was deprecated (eval_string, pry_instance). Now it gets passed just 1 parameter (pry_instance)
  => Booting Puma
  => Rails 7.0.2.3 application starting in development 
  => Run `bin/rails server --help` for more startup options

  up to date, audited 4 packages in 431ms

  found 0 vulnerabilities
  Puma starting in single mode...
  * Puma version: 5.6.2 (ruby 3.0.0-p0) ("Birdie's Version")
  *  Min threads: 5
  *  Max threads: 5
  *  Environment: development
  *          PID: 21740
  * Listening on http://0.0.0.0:3000
  Use Ctrl-C to stop

今天,在最初发布文章的第一天,我添加了以下代码:

代码语言:javascript
运行
AI代码解释
复制
  puts "****** #{__FILE__} --- #{Time.now()} ******"

几个文件。这就是我得到的:

代码语言:javascript
运行
AI代码解释
复制
  ****** bin/rails --- 2022-04-07 18:28:41 -0500 ******
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/boot.rb --- 2022-04-07 18:28:41 -0500 ******
  warning: parser/current is loading parser/ruby30, which recognizes3.0.3-compliant syntax, but you are running 3.0.0.
  Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
  /home/addicttux/.rvm/gems/ruby-3.0.0/gems/pry-byebug-3.8.0/lib/pry-byebug/control_d_handler.rb:5: warning: control_d_handler's arity of 2 parameters was deprecated (eval_string, pry_instance). Now it gets passed just 1 parameter (pry_instance)
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/application.rb --- 2022-04-07 18:28:52 -0500 ******
  => Booting Puma
  => Rails 7.0.2.3 application starting in development 
  => Run `bin/rails server --help` for more startup options
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/environments/development.rb --- 2022-04-07 18:28:53 -0500 ******
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/initializers/assets.rb --- 2022-04-07 18:28:54 -0500 ******
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/initializers/filter_parameter_logging.rb --- 2022-04-07 18:28:55 -0500 ******
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/initializers/npm.rb --- 2022-04-07 18:28:55 -0500 ******

  up to date, audited 4 packages in 678ms

  found 0 vulnerabilities
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/routes.rb --- 2022-04-07 18:28:57 -0500 ******
  ****** config/puma.rb --- 2022-04-07 18:28:57 -0500 ******
  Puma starting in single mode...
  * Puma version: 5.6.2 (ruby 3.0.0-p0) ("Birdie's Version")
  *  Min threads: 5
  *  Max threads: 5
  *  Environment: development
  *          PID: 9121
  * Listening on http://127.0.0.1:3000
  * Listening on http://[::1]:3000
  Use Ctrl-C to stop

正如您所看到的,编辑文件似乎解决了问题,但为什么呢?不知道。

多么令人失望啊。同样,服务器的启动非常缓慢。我还是找不到原因。当加载服务器时,我分享它抛给我的时间。

命令: date; rails s -b 0.0.0.0

输出:

代码语言:javascript
运行
AI代码解释
复制
  sáb 09 abr 2022 12:29:36 CDT
  ****** bin/rails --- 2022-04-09 12:31:07 -0500 ******
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/boot.rb --- 2022-04-09 12:31:07 -0500 ******
  warning: parser/current is loading parser/ruby30, which recognizes3.0.3-compliant syntax, but you are running 3.0.0.
  Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
  /home/addicttux/.rvm/gems/ruby-3.0.0/gems/pry-byebug-3.8.0/lib/pry-byebug/control_d_handler.rb:5: warning: control_d_handler's arity of 2 parameters was deprecated (eval_string, pry_instance). Now it gets passed just 1 parameter (pry_instance)
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/application.rb --- 2022-04-09 12:35:16 -0500 ******
  => Booting Puma
  => Rails 7.0.2.3 application starting in development 
  => Run `bin/rails server --help` for more startup options
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/environments/development.rb --- 2022-04-09 12:35:17 -0500 ******
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/initializers/assets.rb --- 2022-04-09 12:35:22 -0500 ******
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/initializers/filter_parameter_logging.rb --- 2022-04-09 12:35:22 -0500 ******
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/initializers/npm.rb --- 2022-04-09 12:35:22 -0500 ******
  up to date, audited 4 packages in 1s
  found 0 vulnerabilities
  ****** /home/addicttux/Desarrollos/GrupoSerton/sags/config/routes.rb --- 2022-04-09 12:35:26 -0500 ******
  ****** config/puma.rb --- 2022-04-09 12:35:28 -0500 ******
  Puma starting in single mode...
  * Puma version: 5.6.2 (ruby 3.0.0-p0) ("Birdie's Version")
  *  Min threads: 5
  *  Max threads: 5
  *  Environment: development
  *          PID: 8135
  * Listening on http://0.0.0.0:3000
  Use Ctrl-C to stop
EN

回答 1

Stack Overflow用户

发布于 2022-10-02 05:03:23

所以我刚刚遇到了同样的问题,在尝试了很多事情之后,我发现webpacker出了问题。

我发现webpacker的方法是通过安装bumbler gem和运行bundle exec bumbler --initializers来解决问题。这表明,我的大约46s是丢失了一些纱线的东西。

我试图启动webpack-dev服务器(bin/webpack-dev-server ),但这给了我以下错误:

代码语言:javascript
运行
AI代码解释
复制
Class constructor ServeCommand cannot be invoked without 'new'

我通过降低package.json中的package.json版本来解决这个问题(如github问题:https://github.com/webpack/webpack-cli/issues/2272中所解释)

代码语言:javascript
运行
AI代码解释
复制
"devDependencies": {
  "@webpack-cli/serve": "^1.7.0",
  "webpack-dev-server": "~3"
}

我首先再次删除我的node_modules文件夹,然后运行yarn install

在此之后,我可以成功地运行bin/webpack-dev-server,我的rails启动时间突然从56s转到5s

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71769008

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文