Ubuntu ruby gem 位置

Ubuntu ruby gem location

我正在尝试使用大虾gem。我只是在 ubuntu 机器上尝试基本的 hello world 示例。

require 'prawn'
Prawn::Document.generate("hello.pdf") do
text "Hello World!"
end

第一个问题是我使用的是 ruby 1.9.1,它产生了一个错误并说它需要 ruby 2.0,所以我使用 RVM 更新到 2.2.1。但是每次我 运行 这个,我都会得到这个错误

/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in require': cannot load such file -- prawn (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' from prawnpdf.rb:1:in `'

现在我对 Ubuntu 和 ruby 有点新手,但我认为问题是它在错误的地方寻找大虾 gem我已经安装了 IE,它正在寻找 ruby 的旧版本。

当我运行$ ruby -v 我得到

ruby 2.2.1p85 (2015-02-26 revision 49769) [i686-linux]

我做错了什么?任何帮助将不胜感激。

每次使用 rvm 切换 ruby 版本时,您都会开始使用新的 gemset。之前安装了 prawn 并不意味着当前安装了它,错误消息表明它没有安装。所以:

rvm use 2.2.1

然后

gem install prawn

那么你的代码应该可以工作。

我建议您为您的项目创建一个 Gemfile 以便更容易维护依赖关系。 查看详情:http://bundler.io/

然后 cd 到您的项目目录并安装包(一次或更改后)和 运行 您的 ruby 脚本:

cd my_project
bundle install
ruby my_thing.rb

如果您cannot/don不想使用捆绑器:您需要为每个 ruby.

重新安装 Gem

按照给定的步骤。

1: rvm list

rvm rubies

   ruby-2.0.0-p643 [ x86_64 ]
   ruby-2.2.1 [ x86_64 ]
=* ruby-2.2.4 [ x86_64 ]

2: rvm use < ruby-version > # 对于实例 ruby-1.9.3-p125

rvm use 2.2.1

3: gem install prawn

会起作用!!!