微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

安装 Webpacker 后 Ruby on rails 5.2 崩溃

如何解决安装 Webpacker 后 Ruby on rails 5.2 崩溃

如果有人能调查我在安装 Webpacker gem 后遇到的这个问题,我将不胜感激

我在 Rails 5.2.4.3 上使用 ruby "2.5.1" 并且我正在尝试从 Sprockets 切换到 Webpacker gem 以管理我的 JS(Vue 应用程序)、CSS 和其他资产...

我安装 gem 没有任何问题。宝石解析为 webpacker (5.2.1)

我还按照 webpacker 说明运行了 bundle exec rails webpacker:install...

尽管如此,现在当我尝试使用这三个 foremanrails soverkill 中的任何一个运行我的服务器时,我在控制台中收到一个奇怪的错误,并且它崩溃了这个致命的消息:) :

您可能在 Ruby 解释器或扩展中遇到了错误 图书馆

这是我启动服务器后得到的日志:

[1;38;5;2mweb   [0m | [76137] * Version 3.12.6 (ruby 2.5.1-p57),codename: Llamas in Pajamas
[1;38;5;2mweb   [0m | [76137] * Min threads: 5,max threads: 5
[1;38;5;2mweb   [0m | [76137] * Environment: development
[1;38;5;2mweb   [0m | [76137] * Process workers: 2
[1;38;5;2mweb   [0m | [76137] * preloading application
...

[1;38;5;4mworker[0m | [31m
[1;38;5;4mworker[0m | 
[1;38;5;4mworker[0m |       [37m         m,[1;38;5;4mworker[0m |       [37m         `$b
[1;38;5;4mworker[0m |       [37m    .ss,$$:         .,d$
[1;38;5;4mworker[0m |       [37m    `$$P,d$P'    .,md$P"'
[1;38;5;4mworker[0m |       [37m,$$$$$b[30m/[37mmd$$$P^'
[1;38;5;4mworker[0m |       [37m   .d$$$$$$[30m/[37m$$$P'
[1;38;5;4mworker[0m |       [37m   $$^' `"[30m/[37m$$$'       [31m____  _     _      _    _
[1;38;5;4mworker[0m |       [37m   $:,$$:      [31m / ___|(_) __| | ___| | _(_) __ _
[1;38;5;4mworker[0m |       [37m   `b     :$$       [31m \___ \| |/ _` |/ _ \ |/ / |/ _` |
[1;38;5;4mworker[0m |       [37m          $$:        [31m ___) | | (_| |  __/   <| | (_| |
[1;38;5;4mworker[0m |       [37m          $$         [31m|____/|_|\__,_|\___|_|\_\_|\__,|
[1;38;5;4mworker[0m |       [37m        .d$$          [31m                             |_|
[1;38;5;4mworker[0m |       [0m
[1;38;5;4mworker[0m | [0m
[1;38;5;4mworker[0m | 2021-01-14T20:14:26.264Z pid=76136 tid=oxd8w9s8k INFO: Booted Rails 5.2.4.3 application in development environment
...
[1;38;5;2mweb   [0m | [76137] * Listening on tcp://0.0.0.0:3000
[1;38;5;2mweb   [0m | [76137] ! WARNING: Detected 5 Thread(s) started in app boot:
[1;38;5;2mweb   [0m | [76137] ! #<Thread:0x00007fe7926794a0@/Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:299 sleep> - /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:301:in `sleep'
[1;38;5;2mweb   [0m | [76137] ! #<Thread:0x00007fe7954e7e68@/Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/internals/thread_pool.rb:6 sleep> - /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/rb-fsevent-0.10.4/lib/rb-fsevent/fsevent.rb:44:in `select'
[1;38;5;2mweb   [0m | [76137] ! #<Thread:0x00007fe7954e5ac8@/Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/internals/thread_pool.rb:6 sleep> - /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/event/config.rb:19:in `sleep'
[1;38;5;2mweb   [0m | [76137] ! #<Thread:0x00007fe799242fb0@/Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/internals/thread_pool.rb:6 sleep> - /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/record/entry.rb:40:in `realpath'
[1;38;5;2mweb   [0m | [76137] ! #<Thread:0x00007fe799241048@/Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/internals/thread_pool.rb:6 sleep> - /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/event/config.rb:19:in `sleep'
[1;38;5;2mweb   [0m | [76137] Use Ctrl-C to stop
[1;38;5;2mweb   [0m | [76137] - Worker 0 (pid: 76177) booted,phase: 0
[1;38;5;2mweb   [0m | [76137] - Worker 1 (pid: 76178) booted,phase: 0
[1;38;5;2mweb   [0m | [14/1 - 21:14:31,INFO] msg: [e28d911b-e2d0-4d2b-b3c9-09f5f4099b2b] [method: GET,path: /,params: {},current_user_id: guest] Started GET "/" for 127.0.0.1 at 2021-01-14 21:14:31 +0100 ... from 
....
[1;38;5;2mweb   [0m | /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/record/entry.rb:46: [BUG] Segmentation fault at 0x00000001068d3a7c
[1;38;5;2mweb   [0m | ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
[1;38;5;2mweb   [0m | 
[1;38;5;2mweb   [0m | [;31;1;7m-- Crash Report log information --------------------------------------------[m
[1;38;5;2mweb   [0m | [;32;7m   See Crash Report log file under the one of following:                    [m
[1;38;5;2mweb   [0m | [;32;7m     * ~/Library/Logs/DiagnosticReports                                     [m
[1;38;5;2mweb   [0m | [;32;7m     * /Library/Logs/DiagnosticReports                                      [m
[1;38;5;2mweb   [0m | [;32;7m   for more details.                                                        [m
[1;38;5;2mweb   [0m | [;31;1;7mDon't forget to include the above Crash Report log file in bug reports.     [m
[1;38;5;2mweb   [0m | 
[1;38;5;2mweb   [0m | -- Control frame information -----------------------------------------------
[1;38;5;2mweb   [0m | c:0013 p:---- s:0062 e:000061 CFUNC  :open
[1;38;5;2mweb   [0m | c:0012 p:---- s:0059 e:000058 CFUNC  :entries
[1;38;5;2mweb   [0m | c:0011 p:0026 s:0054 E:001da8 METHOD /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/record/entry.rb:51
[1;38;5;2mweb   [0m | c:0010 p:0014 s:0047 E:001e08 METHOD /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/record/entry.rb:16
[1;38;5;2mweb   [0m | c:0009 p:0012 s:0042 E:001e80 METHOD /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/record.rb:104
[1;38;5;2mweb   [0m | c:0008 p:0070 s:0034 E:001a70 METHOD /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/record.rb:68
[1;38;5;2mweb   [0m | c:0007 p:0009 s:0028 E:001a90 BLOCK  /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/adapter/base.rb:76
[1;38;5;2mweb   [0m | c:0006 p:0017 s:0025 E:000c18 METHOD /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/adapter/base.rb:103
[1;38;5;2mweb   [0m | c:0005 p:0008 s:0018 E:000b78 BLOCK  /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/adapter/base.rb:76 [FINISH]
[1;38;5;2mweb   [0m | c:0004 p:---- s:0014 e:000013 CFUNC  :each
[1;38;5;2mweb   [0m | c:0003 p:0011 s:0010 E:000d08 BLOCK  /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/adapter/base.rb:75 [FINISH]
[1;38;5;2mweb   [0m | c:0002 p:0007 s:0006 E:001570 BLOCK  /Users/luka/.rvm/gems/ruby-2.5.1@trasteros/gems/listen-3.0.8/lib/listen/internals/thread_pool.rb:6 [FINISH]
[1;38;5;2mweb   [0m | c:0001 p:---- s:0003 e:000002 (none) [FINISH]

在检查 ~/Library/Logs/DiagnosticReports 内容后,我没有注意到任何可能与此相关的内容

Process:               ruby [78661]
Path:                  /Users/USER/*/ruby
Identifier:            ruby
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        ruby [78590]
Responsible:           ruby [78661]
User ID:               501

Date/Time:             2021-01-14 21:40:37.847 +0100
OS Version:            Mac OS X 10.14.6 (18G6032)
Report Version:        12
Bridge OS Version:     4.6 (17P6610)
Anonymous UUID:        769A0490-C137-92F1-77B0-DC2690A75891

Sleep/Wake UUID:       60D53E11-CD89-47AF-A5FE-E02E74B392D5

Time Awake Since Boot: 3100000 seconds
Time Since Wake:       4500 seconds

System Integrity Protection: enabled

Crashed Thread:        0  dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGABRT)
Exception Codes:       KERN_INVALID_ADDRESS at 0x00000001111c8a52
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0x1111c8a52:
    __LINKEDIT             00000001111c5000-00000001111c8000 [   12K] r--/rwx SM=COW  /Users/USER/*/etc.bundle
--> 
    __TEXT                 0000000111208000-000000011120e000 [   24K] r-x/rwx SM=COW  /Users/USER/*/fiddle.bundle

Application Specific information:
crashed on child side of fork pre-exec

Thread 0 Crashed*️⃣ dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x000000010d2a02c2 __pthread_kill + 10
1   libsystem_pthread.dylib         0x00007fff69421bf1 pthread_kill + 284
2   libsystem_c.dylib               0x00007fff692d06a6 abort + 127
3   libruby.2.5.dylib               0x000000010bee50f9 die + 9
4   libruby.2.5.dylib               0x000000010bee5334 rb_bug_context + 564
5   libruby.2.5.dylib               0x000000010bfdb8d1 sigsegv + 81
6   libsystem_platform.dylib        0x00007fff69416b5d _sigtramp + 29
7   libnetwork.dylib                0x00007fff67686b5c __nw_path_get_nexus_agent_block_invoke + 44
8   libsystem_trace.dylib           0x000000010d2dffbb os_log_type_enabled + 627
9   libsystem_info.dylib            0x00007fff69341692 _gai_nat64_v4_address_requires_synthesis + 98
10  libsystem_info.dylib            0x00007fff69340aa0 _gai_nat64_second_pass + 512
11  libsystem_info.dylib            0x00007fff6931f847 si_addrinfo + 1959
12  libsystem_info.dylib            0x00007fff6931ef77 _getaddrinfo_internal + 231
13  libsystem_info.dylib            0x00007fff6931ee7d getaddrinfo + 61
14  socket.bundle                   0x000000011122c275 nogvl_getaddrinfo + 181
...

VM Region Summary:
ReadOnly portion of Libraries: Total=365.0M resident=0K(0%) swapped_out_or_unallocated=365.0M(100%)
Writable regions: Total=271.0M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=271.0M(100%)
 
                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Activity Tracing                   256K        1 
Kernel Alloc Once                    8K        1 
MALLOC                           236.1M       42 
MALLOC guard page                   16K        3 
STACK GUARD                       56.0M        7 
Stack                             34.2M       28 
Stack Guard                         84K       21 
__DATA                            15.4M      273 
__FONT_DATA                          4K        1 
__LINKEDIT                       244.3M      135 
__TEXT                           120.7M      243 
__UNICODE                          564K        1 
mapped file                       25.9M        1 
shared memory                       12K        3 
===========                     =======  ======= 
TOTAL                            733.6M      760 

最后是我的 Gemfile,因为我猜这可能是 Webpacker 和另一个 Gem 之间的冲突

source 'https://rubygems.org'

ruby "2.5.1" # heroku march '18

# Bundle edge Rails instead: gem 'rails',github: 'rails/rails'
gem 'rails','~> 5.2.4.3'

# 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'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails','~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer',platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
# gem 'turbolinks','~> 5'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder','~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis','~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt','~> 3.1.7'

# Use Capistrano for deployment
# gem 'capistrano-rails',group: :development

gem 'stripe','~> 5.0'

gem 'pg'

gem 'bourbon'
gem 'neat','4.0.0' # depends on Thor too
gem 'bitters','2.0.3' # depends on Thor under 1.0

gem 'webpacker'

gem 'haml'
gem "haml-rails"
gem 'annotate'

gem "monetize"
gem "money"
gem "money-rails"

# For image resizing in Active Storage - https://edgeguides.rubyonrails.org/active_storage_overview.html
gem 'image_processing'

gem "aws-sdk-s3",require: false

# Scraper dependencies

gem "nokogiri"

# Convert external CSS to inline
gem 'premailer-rails'

gem 'foreman'
gem "sidekiq"

gem "sitemap_generator"

gem 'devise'
gem 'devise-i18n' # tanslations for the devise's views
gem 'invisible_captcha' 

gem 'pretender' # Impersonate users

gem 'omniauth-facebook'

# Authorization in Rails
gem 'pundit'

# Add user roles
gem 'rolify'

gem "geocoder"

# Passing JS variables to the views
gem "gon"

gem 'friendly_id','~> 5.1.0' # Note: You MUST use 5.0.0 or greater for Rails 4.0+

gem "breadcrumbs_on_rails"

gem 'active_model_serializers','~> 0.10.0'

gem "split"

gem 'dalli'

gem 'rollbar'
gem 'oj' #,'~> 2.12.14' # json serialization suggested by rollbar gem team

gem 'newrelic_rpm'

gem 'will_paginate','~> 3.1.0'

# Creates entries for each change on a model
gem 'audited','~> 4.9'

# gem 'monologue',path: "~/projects/monologue"
gem 'monologue',git: 'https://github.com/luigi7up/monologue.git',branch: 'master'

# Instead of nested forms
gem "cocoon"


# Elastic search support for rails
# gem 'elasticsearch-model'
# gem 'elasticsearch-rails'


gem 'elasticsearch-model'
gem 'elasticsearch-rails'

gem 'elasticsearch'

# No ide why,but if I move these to group :development,:test then push to Heroku is rejected
gem "better_errors"
gem "binding_of_caller"
gem 'pry-byebug'

# header language switch https://github.com/iain/http_accept_language/tree/master
gem 'http_accept_language' 

group :development,:test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug',platforms: [:mri,:mingw,:x64_mingw]
  gem "database_cleaner"
  gem "rspec-rails"
  # gem "capybara"
  # gem "selenium-webdriver" # for firefox
  # gem 'chromedriver-helper' # for chrome


  gem 'cypress-on-rails','~> 1.0'

  # The capybara-webkit driver is for true headless testing. It uses QtWebKit to start a rendering engine process.
   # It can execute JavaScript as well. It is significantly faster than drivers like Selenium since it does not 
   # load an entire browser.
  # gem "capybara-webkit" 
  gem 'webmock'
  gem 'seed_dump'
  # Loads .env in rspec
  gem 'dotenv-rails'
  # gem 'fake_stripe'
end

更新

我试过了:

  • 将 Ruby 升级2.7.2
  • 我已将 Webpacker 降级到 3.6

但它不起作用...

更新 2

在谷歌搜索后,我发现这与 2 个或更多需要原生 C 扩展的 gem 产生的冲突有关。

就我而言,在注释掉 gem pry-byebug 后,我设法启动了我的服务器而没有崩溃,我终于让 Webpacker 为资产提供服务。

要找出哪个 gem 导致您的案例出现问题,请运行:

bundle show --paths | ruby -e "STDIN.each_line {|dep| puts dep.split('/').last if File.directory?(File.join(dep.chomp,'ext')) }"

这将为您提供需要原生 C 扩展的 gem 列表。

现在,一一评论和捆绑,直到你找到罪魁祸首

更新 3 - 仍未解决

虽然,我设法启动了服务器并启动了 webpack 并运行它仍然时不时崩溃......

可能与在开发环境中运行./bin/webpack-dev-server有关,但是崩溃似乎很随机...

好奇怪:/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。