pdf-writer invalid multibyte char (US-ASCII) expec

2019-05-11 23:09发布

问题:

I have a problem with the pdf-writer gem on a collaborative project I'm trying to run, I'm using RVM, Ruby 1.9.2p180, Rails 3.1.0 on Ubuntu 10.10.

I created a new gemset to install the required gems with Bundler, but when I try to run the app I get the fallowing error;

josethernandezc@DG965WH:~/Desktop/conest31$ rails s
/home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require': /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/pdf-writer-1.1.8/lib/pdf/writer.rb:712: invalid multibyte char (US-ASCII) (SyntaxError)
/home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/pdf-writer-1.1.8/lib/pdf/writer.rb:712: invalid multibyte char (US-ASCII)
/home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/pdf-writer-1.1.8/lib/pdf/writer.rb:712: syntax error, unexpected $end, expecting keyword_end
content = "%PDF-#{@version}\n%âãÏÓ\n"
                                ^
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require'
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `block in load_dependency'
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:in `new_constants_in'
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency'
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
from /home/josethernandezc/Desktop/conest31/config/application.rb:58:in `<top (required)>'
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/railties-3.1.0/lib/rails/commands.rb:52:in `require'
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/railties-3.1.0/lib/rails/commands.rb:52:in `block in <top (required)>'
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/railties-3.1.0/lib/rails/commands.rb:49:in `tap'
from /home/josethernandezc/.rvm/gems/ruby-1.9.2-p180@conest31/gems/railties-3.1.0/lib/rails/commands.rb:49:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

The problem is in the pdf-writer-1.1.8/lib/pdf/writer.rb:712, especifically; content = "%PDF-#{@version}\n%âãÏÓ\n"

Any suggestions would be great, I tried to Google the error but I have not found anything specific to pdf-writer....

回答1:

pdf-writer is not compatible with Ruby 1.9. There is a fork which is: https://github.com/metaskills/pdf-writer

Change the pdf-writer line in your Gemfile for:

gem 'pdf-writer', :git => 'git://github.com/metaskills/pdf-writer.git'


回答2:

I just ported pdf-writer to Ruby 2.0. Pull request sent to metaskills (referenced in previous answer).

If you need it for Ruby 2.0 in the meantime, please find the forked code here:

gem 'pdf-writer', :git => 'git://github.com/mwlang/pdf-writer.git'


回答3:

The fork of pdf-writer also works on Ruby 2.1, thanks.

gem 'pdf-writer', :git => 'git://github.com/mwlang/pdf-writer.git'