1

我正在使用 Ember 和ember-cli-railsgem 运行 Rails 5。我在 Rails 资产文件夹中没有太多内容,因为我有一个单独的前端文件夹并ember-cli-rails帮助我将 Ember 应用程序安装到 Rails 路由。

我部署到 AWS 实例,每当我运行时rake assets:precompile,它都会挂起:

$ rake assets:precompile
RubyDep: WARNING: Your Ruby is outdated/buggy.
RubyDep: WARNING: Your Ruby is: 2.3.0 (buggy). Recommendation: upgrade to 2.3.1.
RubyDep: WARNING: (To disable warnings, see:http://github.com/e2/ruby_dep/wiki/Disabling-warnings )
up to date in 1.441s

难道是我需要更新Ruby?大概不对吧?

无论如何,我在其他帖子中阅读了这篇文章,并且我认为这个问题更多的是个案问题,并且没有一个适合所有问题的解决方案。因此,我在这里介绍有关我的项目的信息,以期诊断问题。

我的宝石文件:

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.0'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use Puma as the app server
gem 'puma', '~> 3.7'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

gem 'twilio-ruby'
gem 'phony_rails'
gem 'jquery-rails'
gem 'intl-tel-input-rails'
gem 'mysql2'
gem 'sidekiq'
gem 'sidekiq-scheduler'

gem "capistrano", "~> 3.4"
gem 'capistrano-rails'
gem 'capistrano-bundler'
gem 'capistrano-rbenv'
gem 'capistrano3-puma'

gem 'ember-cli-rails'
gem 'active_model_serializers', '~> 0.10.0'

我有大量的 Ember 代码,这是我在运行后加载 Ember 应用程序时的输出rails s

Build successful (21977ms)


Slowest Nodes (totalTime => 5% )              | Total (avg)         
----------------------------------------------+---------------------
Babel (28)                                    | 15879ms (567 ms)    
EslintValidationFilter (2)                    | 2292ms (1146 ms)    

  Rendering html template
  Rendered html template (0.1ms)
  Rendered /usr/local/lib/ruby/gems/2.4.0/gems/ember-cli-rails-0.9.0/app/views/ember_cli/ember/index.html.erb (32443.1ms)
Completed 200 OK in 32465ms (Views: 32453.4ms | ActiveRecord: 0.0ms)

所以它已经花费了一些时间,但似乎在我的 EC2 实例上,这一次呈指数增长。任何想法为什么?我应该只增加RAM吗?我觉得这不是理想的解决方案。

tl;博士:

  1. ember-cli-rails宝石有问题吗?
  2. 我能做些什么来加快速度assets:precompile
  3. 提高我的 ec2 实例的能力是一种好习惯吗?
  4. 我能做些什么来调试这个(日志、更详细的输出等)?
4

1 回答 1

4
  1. 升级到 ember-cli 3.0 似乎已经解决了这个问题
  2. 有更少的 JS,虽然这不应该有太大的影响,但与这个问题无关
  3. 是的,但这可以通过其他方式解决
  4. 显然--verbose不是一种选择,但rake some_command --trace它是一种选择!它帮助我确定了我的 ember 版本的一些依赖问题。
于 2018-05-25T06:11:47.317 回答