无法使用本地安装的宝石

时间:2013-05-17 14:50:39

标签: ruby-on-rails ruby rake rvm bundler

我正在尝试在共享主机上运行Ruby on Rails网站。当我按照本教程http://guides.rubyonrails.org/v2.3.8/getting_started.html进入rake db:create(或rake)时,我得到了

  

错误:'rake / rdoctask'已过时且不再受支持。使用'rdoc / task'(在RDoc 2.4.2+中可用)代替。

我尝试了gem install rdoc -v 2.4.2(也按照ERROR: 'rake/rdoctask' is obsolete and no longer supported的建议尝试gem install rake --version 0.8.7),但我的问题是我的托管服务提供商在系统上全局安装了其他版本,无论出于何种原因全局版本覆盖了本地版本。

我还尝试gem install bundler尝试指定版本(按此处Use older version of Rake建议),但bundle

回复
  

/usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in`to_specs':在[actionmailer-2.3.15,actionpack-2.3.15]中找不到bundler(> = 0) ,activerecord-2.3.15,activerecord-mysql2-adapter-0.0.3,activeresource-2.3.15,activesupport-2.3.15,cgi_multipart_eof_fix-2.5.0,daemons-1.1.9,fastthread-1.0.7,gem_plugin-0.2 .3,mongrel-1.1.5,mysql2-0.3.11,rack-1.1.5,rails-2.3.15,rake-10.0.3,rubygems-update-1.8.25,sqlite3-1.3.7](Gem: :LoadError)

我的托管服务提供商没有安装RVM,这可能让我做了RVM doesn't set correct gem path这样的事情。

奇怪的是gem which rake给了我

  

〜/红宝石/宝石/宝石/耙0.8.7 / LIB / rake.rb

(我隐藏的主页目录),但~/ruby/gems/gems/rake-0.8.7/bin/rake --version给了我

  

rake,版本10.0.3

我得到了关于rdoc的类似结果,~/ruby/gems/gems/bundler-1.3.5/bin/bundle --version给了我

  

/home/ko64eto/ruby/gems/gems/bundler-1.3.5/bin/bundle:7:in`requirement':没有要加载的文件 - bundler(LoadError)     来自/home/ko64eto/ruby/gems/gems/bundler-1.3.5/bin/bundle:7

我可以做些什么来解决rake vs rdoc冲突。我是否需要让我的托管服务提供商安装RVM或我可以做其他事情吗?如果我联系他们,是否有其他选择我可以要求他们(比如要求他们全局安装bundler,或者更新rdoc)?

1 个答案:

答案 0 :(得分:0)

您使用的是什么版本的Rails?你能分享你的Gemfile吗?

如果您使用的是Rails 3.2.x,那么您可以尝试使用bundle install --deployment。您的托管服务提供商可能已经安装了捆绑包。是否安装了捆绑器?试试gem list bundler并告诉我你看到了什么。

如果安装了bundler,那么你想尝试捆绑exec rake db:setup或bundle exec rake db:create。然后bundler将在你的gemfile中使用rake的版本。