2013-05-07 84 views
2

我在OSX上使用RVM和以前的RBENV。我有我的宝石相对于我的项目路径安装在./gems红宝石找不到nokogiri/nokogiri

我使用的aws-sdk并试图从nokogiri/nokogiri使用一个LoadError S3的客户端的结果。具体错误是:

/gems/ruby/1.9.1/gems/backports-2.6.7/lib/backports/tools.rb:314:in `require': cannot load such file -- nokogiri/nokogiri (LoadError) 

在互联网上已经有几个关于这个问题的讨论,但没有一个很多的答案。奇怪的是,这在Heroku的当前配置中起作用。

我不知道它是否有帮助,但我以前有与bcrypt-ruby问题,其中它没有找到bcrypt_ext在相同的方式,LoadError, cannot find such file。唯一的解决方案似乎是进入gem文件夹并手动安装文件。

回答

0

更改为项目目录后运行:

GEM_PATH=$GEM_PATH:$PWD/.gems 
+0

似乎并没有帮助,无论运行在终端仍然抱怨引入nokogiri的。我发现,如果我通过bundle install --system将系统安装到系统文件夹,但是一旦我改回相对的gem目录,它会再次破坏。 – nullfox 2013-05-08 05:51:34

+0

重要的是要了解你的工具是如何工作的,RVM将使用gemset,并且你需要运行'rvm use ruby​​ [@gemset]'来访问gem,如果你使用'bundler'来安装gems,那么你还需要像'bundle exec rake'一样使用'bundle exec'运行它们。 – mpapis 2013-05-08 07:31:23