问题描述
如果有人能调查我在安装 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
...
尽管如此,现在当我尝试使用这三个 foreman
、rails s
或 overkill
中的任何一个运行我的服务器时,我在控制台中收到一个奇怪的错误,并且它崩溃了这个致命的消息:) :
您可能在 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 (将#修改为@)