Rails 5 assets:precompile 挂起

Rails 5 assets:precompile hangs

我 运行宁 Rails 5 Ember & ember-cli-rails gem。我在 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?应该不是吧?

无论如何,我阅读了 this post 等内容,我认为这个问题更像是一个个案问题,并没有一个放之四海而皆准的解决方案。所以我在这里展示有关我的项目的信息,希望能诊断出问题。

我的 Gemfile:

# 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 代码,这是我在 运行ning rails s:

之后加载 Ember 应用程序时的输出
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 实例上,这次似乎呈指数增长。任何想法为什么?我应该只增加内存吗?我觉得这不是理想的解决方案。

tl;博士:

  1. ember-cli-railsgem有问题吗?
  2. 我能做什么 加速 assets:precompile?
  3. 提高我的 ec2 的性能是个好习惯吗 实例?
  4. 我能做些什么来调试这个(日志,更详细的输出, 等等)?
  1. 升级到 ember-cli 3.0 似乎已经解决了问题
  2. 更少的 JS,虽然这应该不会影响太大,但与这个问题无关
  3. 是的,但这可以通过其他方式解决
  4. 显然 --verbose 不是一个选项,但 rake some_command --trace 是一个选项!!它帮助我确定了我的 ember 版本的一些依赖性问题。