今天启动 rails 5 应用程序时遇到以下错误:
1: from /home/deploy/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/compile_cache/iseq.rb:37:in `load_iseq'
/home/deploy/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/compile_cache/iseq.rb:37:in `fetch':
Operation not permitted - bs_fetch:atomic_write_cache_file:chmod (Errno::EPERM)
这里的其他问题似乎指向 gemfile 调用具有require: false
但已指定的解决方案
gem 'bootsnap', '>= 1.1.0', require: false
应用程序服务器可以启动的唯一方法(暂时处于开发模式)是从 boot.rb 中注释掉以下行:
# require 'bootsnap/setup' # Speed up boot time by caching expensive operations.
在上一次重新启动(昨天)和现在之间,boot.rb 和 Gemfile 都没有被修改。打开和关闭这条线证明问题出在 bootsnap 上。
怎么了?到底是怎么回事?