3

我正在尝试在共享主机上运行 Ruby on Rails 网站。当我到达rake db:create(或rake根本)遵循本教程http://guides.rubyonrails.org/v2.3.8/getting_started.html我得到

错误:“rake/rdoctask”已过时,不再受支持。请改用“rdoc/task”(在 RDoc 2.4.2+ 中可用)。

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

我还尝试gem install bundler指定版本(如建议此处使用旧版本的 Rake),但bundle响应

/usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs':在 [actionmailer-2.3.15、actionpack-2.3.15、activerecord-2.3 中找不到捆绑程序 (>= 0) .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, ruby​​gems-update-1.8.25, sqlite3-1.3.7] (Gem::LoadError)

我的托管服务提供商没有安装 RVM,这可能允许我执行类似此RVM 未设置正确 gem path的操作。

奇怪的是gem which rake给了我

~/ruby/gems/gems/rake-0.8.7/lib/rake.rb

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

耙子,版本 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 `require': no such file to load -- bundler (LoadError) from /home/ko64eto/ruby/gems/gems /bundle-1.3.5/bin/bundle:7

我能做些什么来解决 rake 与 rdoc 冲突。我需要让我的托管服务提供商安装 RVM 还是可以做其他事情?如果我联系他们,我可以要求他们提供任何其他选项(比如要求他们在全球范围内安装捆绑程序,或更新 rdoc)?

4

1 回答 1

0

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

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

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

于 2013-05-17T15:00:02.750 回答