2021年3月14日星期日

rails 6.1: cannot load such file -- prawn-table

When it comes to generating the pdf using the prawn gem, 2 requires are done: require 'prawn' & require 'prawn-table'

The result is:

require': cannot load such file -- prawn-table (LoadError)

For some reason, the prawn-table gem cannot be loaded. Why not?

The gems exist in the gem env path (see below):

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  

I call the prawn generator like so...

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:    {...  

which results in:

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)  

My gem env looks like this:

RubyGems Environment:

  • RUBYGEMS VERSION: 3.2.14
  • RUBY VERSION: 2.6.6 (2020-03-31 patchlevel 146) [x86_64-linux]
  • INSTALLATION DIRECTORY: /home/cb/.gem/ruby/2.6.6
  • USER INSTALLATION DIRECTORY: /home/cb/.gem/ruby/2.6.0
  • RUBY EXECUTABLE: /home/cb/.rubies/ruby-2.6.6/bin/ruby
  • GIT EXECUTABLE: /usr/bin/git
  • EXECUTABLE DIRECTORY: /home/cb/.gem/ruby/2.6.6/bin
  • SPEC CACHE DIRECTORY: /home/cb/.gem/specs
  • SYSTEM CONFIGURATION DIRECTORY: /home/cb/.rubies/ruby-2.6.6/etc
  • RUBYGEMS PLATFORMS:
    • ruby
    • x86_64-linux
  • GEM PATHS:
    • /home/cb/.gem/ruby/2.6.6
    • /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0
  • GEM CONFIGURATION:
    • :update_sources => true
    • :verbose => true
    • :backtrace => false
    • :bulk_threshold => 1000
  • REMOTE SOURCES:
  • SHELL PATH:
    • /home/cb/.gem/ruby/2.6.6/bin
    • /home/cb/.rubies/ruby-2.6.6/lib/ruby/gems/2.6.0/bin
    • /home/cb/.rubies/ruby-2.6.6/bin
    • /usr/local/sbin
    • /usr/local/bin
    • /usr/sbin
    • /usr/bin
    • /sbin
    • /bin
    • /usr/games
    • /usr/local/games
    • /snap/bin
    • .
    • bin
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"  ]  
https://stackoverflow.com/questions/66631157/rails-6-1-cannot-load-such-file-prawn-table March 15, 2021 at 09:04AM

没有评论:

发表评论