【问题标题】:Cannot use locally installed gems无法使用本地安装的 gem
【发布时间】:2013-05-17 14:50:38
【问题描述】:

我正在尝试在共享主机上运行 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(也尝试了gem install rake --version 0.8.7,此处建议ERROR: 'rake/rdoctask' is obsolete and no longer supported),但我的问题是其他版本是由我的托管服务提供商全局安装在系统上的,无论出于何种原因,全局版本都会覆盖本地版本那些。

我也尝试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、 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::加载错误)

我的托管服务提供商没有安装 RVM,这可能允许我执行类似 RVM doesn't set correct 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 给了我

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 `require': 没有要加载的文件——bundler (LoadError) 来自/home/ko64eto/ruby/gems/gems/bundler-1.3.5/bin/bundle:7

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

【问题讨论】:

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


    【解决方案1】:

    您使用的是什么版本的 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 的版本。

    【讨论】:

    • 我正在使用Rails 2.3.15。我不确定我的 Gemfile。我想我发现它应该在我的项目目录中,但是那里没有这样的文件。我的本地安装之前没有安装捆绑程序,并且本地安装会给出问题中报告的错误消息。 gem list bundler 返回 > *** REMOTE GEMS *** > bundler (1.3.5) 后跟几个 bundler-* 包
    • 我强烈建议您使用 Rails 3 应用程序 我记得 Rails 2 中有很多 gems 问题 :( 我不太确定,但是您是否尝试过将 gems 出售到您的项目中?也许如果不是我很抱歉,它会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2013-08-25
    • 2011-07-20
    • 2018-01-29
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多