标签: bootsnap

无法加载此类文件 -- webrick/httputils

我有一个项目正在尝试使用 ruby​​ 3(以前使用 2.7.2 运行),但无法完成。

使用 ruby​​ 版本更新我的 gemfile 并运行后bundle,我在尝试访问时收到此错误rails c

/home/rwehresmann/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': cannot load such file -- webrick/httputils (LoadError)
Run Code Online (Sandbox Code Playgroud)

我已经尝试添加 webrick gem 以查看会发生什么,结果是rails c卡住了。

这是我的 gemfile:

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '3.0.0'

gem 'rails', '~> 6.0.1'
gem 'pg', '>= 0.18', '< 2.0'
gem 'puma', ">= 4.3.3"

gem 'aws-sdk-s3', '~> 1'
gem 'http', '~> 4.3.0'
gem 'redis', '~> 4.1.3'
gem 'jwt', '~> 2.2.1'
gem 'pundit', '~> 2.1.0'
gem 'blueprinter', '~> 0.23.0' …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails bootsnap ruby-3

12
推荐指数
2
解决办法
2903
查看次数

Rails:Bootsnap 无法加载

今天启动 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)
Run Code Online (Sandbox Code Playgroud)

这里的其他问题似乎指向了一个解决方案,其中 gemfile 调用require: false已经指定

gem 'bootsnap', '>= 1.1.0', require: false
Run Code Online (Sandbox Code Playgroud)

应用程序服务器可以启动的唯一方法(目前处于开发模式)是从 boot.rb 注释掉以下行:

# require 'bootsnap/setup' # Speed up boot time by caching expensive operations.
Run Code Online (Sandbox Code Playgroud)

在上次重启(昨天)和现在之间,boot.rb 和 Gemfile 都没有被修改。打开和关闭此行证明问题出在 bootsnap 上。

怎么了?到底是怎么回事?

ruby-on-rails bootsnap

7
推荐指数
2
解决办法
6574
查看次数

为什么 bootsnap kernel_require 失败

我有一个使用 bootsnap 的 Rails 应用程序,我目前无法运行该应用程序,因为我从 bootsnap 收到错误。

错误是 /Users/path/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in require: no implicit conversion of String into Integer (TypeError)

这是Kernel_require.rb失败的方法。

def require_with_bootsnap_lfi(path, resolved = nil)
  Bootsnap::LoadPathCache.loaded_features_index.register(path, resolved) do
    require_without_bootsnap(resolved || path)
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails bootsnap

5
推荐指数
0
解决办法
304
查看次数

Rails:NameError:未初始化的常量 Bootsnap::CompileCache::ISeq

我有一个运行良好的 Ruby on Rails 应用程序。今天,我给它添加了一些功能,然后在开发环境中启动了应用程序,启动良好,没有错误。但是当我尝试在浏览器上访问该应用程序时,我遇到了以下错误:

NameError: 未初始化的常量 Bootsnap::CompileCache::ISeq>)

我尝试将 Bootsnap gem 更新到最新版本:

gem 'bootsnap', '>= 1.4.6'
Run Code Online (Sandbox Code Playgroud)

删除了Gemfile.lock文件

rm -rf Gemfile.lock
Run Code Online (Sandbox Code Playgroud)

然后运行 ​​bundle update 命令来更新 gems

bundle update
Run Code Online (Sandbox Code Playgroud)

但还没有成功,因为我仍然遇到同样的问题。任何形式的帮助将不胜感激。谢谢。

ruby ruby-on-rails bootsnap

1
推荐指数
1
解决办法
1103
查看次数

标签 统计

bootsnap ×4

ruby-on-rails ×4

ruby ×2

ruby-3 ×1