如何解决rails 6.1: 无法加载此类文件 -- prawn-table
我正在使用 prawn gem 创建 pdf。因此,创建表需要使用单独的 prawn-table gem。
出于某种原因,我无法要求使用 prawn table gem 并且不知道为什么。
结果是:
require': 无法加载此类文件 -- prawn-table (LoadError)
由于某种原因,无法加载 prawn-table gem。 为什么不呢?
宝石存在于 gem env 路径中(见下文):
bundle info prawn
* prawn (2.4.0)
Summary: A fast and nimble PDF generator for Ruby
Homepage: http://prawnpdf.org
Path: /home/cb/.gem/ruby/2.6.6/gems/prawn-2.4.0
bundle info prawn-table
* prawn-table (0.2.2)
Summary: Provides tables for PrawnPDF
Homepage: https://github.com/prawnpdf/prawn-table
Path: /home/cb/.gem/ruby/2.6.6/gems/prawn-table-0.2.2
我这样称呼对虾生成器...
require 'prawn'
require 'prawn/measurement_extensions'
require 'prawn-table'
def generate_pdf(invoice,mode)
Prawn::Document.generate(invoice.file,margin_top: 0,page_size: 'A4',info:
{...
导致:
invoicer generate --mode development
Traceback (most recent call last):
20: from ./bin/invoicer:4:in `<main>'
19: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
18: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
17: from /home/cb/work/invoicer/lib/invoicer.rb:15:in `<top (required)>'
16: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:332:in `require'
15: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:299:in `load_dependency'
14: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:332:in `block in require'
13: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:148:in `require'
12: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:148:in `require'
11: from /home/cb/work/invoicer/lib/invoicer/invoice_process.rb:5:in `<top (required)>'
10: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:332:in `require'
9: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:299:in `load_dependency'
8: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:332:in `block in require'
7: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:148:in `require'
6: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:148:in `require'
5: from /home/cb/work/invoicer/lib/invoicer/generate_pdf.rb:4:in `<top (required)>'
4: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:332:in `require'
3: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:299:in `load_dependency'
2: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/activesupport-6.1.3/lib/active_support/dependencies.rb:332:in `block in require'
1: from /home/cb/.rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:148:in `require'
/home/cb/.rubies/ruby-2.6.6/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:148:in `require': cannot load such file -- prawn-table (LoadError)
我的 gem 环境如下所示:
RubyGems 环境:
- 红宝石版本:3.2.14
- Ruby 版本:2.6.6(2020 年 3 月 31 日补丁级别 146)[x86_64-linux]
- 安装目录:/home/cb/.gem/ruby/2.6.6
- 用户安装目录:/home/cb/.gem/ruby/2.6.0
- 红宝石可执行文件:/home/cb/.rubies/ruby-2.6.6/bin/ruby
- GIT 可执行文件:/usr/bin/git
- 可执行目录:/home/cb/.gem/ruby/2.6.6/bin
- SPEC 缓存目录:/home/cb/.gem/specs
- 系统配置目录:/home/cb/.rubies/ruby-2.6.6/etc
- RUBYGEMS 平台:
- 红宝石
- x86_64-linux
- 宝石路径:
- /home/cb/.gem/ruby/2.6.6
- /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0
- 宝石配置:
- :update_sources => 真
- :verbose => 真
- :backtrace => false
- :bulk_threshold => 1000
- 远程资源:
- 外壳路径:
rails 6.1 load path
rails c
Loading development environment (Rails 6.1.3)
irb(main):001:0> $:
[
[ 0] "/home/cb/work/invoicer/lib",[ 1] "/home/cb/work/invoicer/vendor",[ 2] "/home/cb/work/invoicer/app/helpers",[ 3] "/home/cb/work/invoicer/app/mailers",[ 4] "/home/cb/work/invoicer/app/models",[ 5] "/home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/gems/actionview-6.1.3/lib",[ 6] "/home/cb/work/invoicer",[ 7] "/home/cb/.gem/ruby/2.6.6/gems/whenever-1.0.0/lib",[ 8] "/home/cb/.gem/ruby/2.6.6/gems/web-console-4.1.0/lib",[ 9] "/home/cb/.gem/ruby/2.6.6/gems/sqlite3-1.4.2/lib",[10] "/home/cb/.gem/ruby/2.6.6/extensions/x86_64-linux/2.6.0-static/sqlite3-1.4.2",[11] "/home/cb/.gem/ruby/2.6.6/gems/rails-6.1.3/lib",[12] "/home/cb/.gem/ruby/2.6.6/gems/sprockets-rails-3.2.2/lib",[13] "/home/cb/.gem/ruby/2.6.6/gems/sprockets-4.0.2/lib",[14] "/home/cb/.gem/ruby/2.6.6/gems/railties-6.1.3/lib",[15] "/home/cb/.gem/ruby/2.6.6/gems/thor-1.1.0/lib",[16] "/home/cb/.gem/ruby/2.6.6/gems/rack-mini-profiler-2.3.1/lib",[17] "/home/cb/.gem/ruby/2.6.6/gems/prawn-table-0.2.2/lib",[18] "/home/cb/.gem/ruby/2.6.6/gems/prawn-2.4.0/lib",[19] "/home/cb/.gem/ruby/2.6.6/gems/ttfunk-1.7.0/lib",[20] "/home/cb/.gem/ruby/2.6.6/gems/pdf-core-0.9.0/lib",[21] "/home/cb/.gem/ruby/2.6.6/gems/method_source-1.0.0/lib",.
.
.
[93] "/home/cb/.rubies/ruby-2.6.6/lib/ruby/2.6.0",[94] "/home/cb/.rubies/ruby-2.6.6/lib/ruby/2.6.0/x86_64-linux"
]
解决方法
IMO 而不是
require "prawn-table"
你应该使用
require "prawn/table"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。