我是Rails(和Ruby)的新手,我在安装和使用gem时遇到了麻烦。我正在尝试使用ruby-tmdb(https://github.com/aarongough/ruby-tmdb)而且文档很少。
“sudo gem install ruby-tmdb”运行得很好,我可以在运行“gem list --local”时看到安装的gem
但是,当我尝试运行应用程序时,我收到错误“没有这样的文件要加载 - ruby-tmdb”。
我在Mac OS X Snow Leopard上。 Ruby 1.8.7。 Rails 3.0.3。宝石1.3.7。
答案 0 :(得分:3)
Gemfile中是否列出了gem?在Rails 3中,所有gem依赖项都应该在Gemfile中列出,以便在应用程序运行时正确加载它。
您应该拥有以下内容:
gem 'ruby-tmdb'
然后,运行bundle install
以确保安装所有gem依赖项,并让Bundler保存锁定文件,以确保此应用程序的所有副本都使用相同的gem版本运行。从现在开始,您将不再需要自己编写require
行;当环境加载时,Rails将加载所有必需的gem。
即使在此之后你也可能会得到同样的错误,但是总是值得通过标准流程来帮助缩小范围:)
答案 1 :(得分:0)
$ sudo哪个宝石 $哪个宝石 $ sudo ruby -v $ ruby -v
与root相比,有时用户拥有不同的gem和rubys。
一个常见问题是,用户ruby 1.9无法看到以root用户身份安装ruby 1.8的gem
ruby 1.8的宝石和1.9的宝石是不兼容的。
这可能不是问题,但可能值得考虑。