ruby-on-rails - 让 rvm 为我创建的每个新 Rails 应用程序使用默认(如全局)gemset 的命令是什么?

标签 ruby-on-rails rvm

我在安装 Mac OS Lion 后安装了 rvm。我面临的问题是每当我尝试运行一个新的 Rails 应用程序时,它都会给我以下错误。

一旦选择特定的 rvm,问题就会得到解决。 $ rvm gemset 使用全局

我知道每个项目都使用 .rvmrc 文件。但是我不想每次创建演示项目时都继续使用这个命令。为什么 rvm 不在我每次创建新项目时自动使用“全局”gemset?

我用了this documentation安装 rvm。

JP:demo3 jayparteek$ rails s
/Users/jayparteek/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/server.rb:3:in `require': no such file to load -- action_dispatch (LoadError)
    from /Users/jayparteek/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/server.rb:3:in `<top (required)>'
    from /Users/jayparteek/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:48:in `require'
    from /Users/jayparteek/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:48:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

最佳答案

您可以为给定的 ruby​​ 解释器指定“默认”gemset,方法是:

rvm use ruby-1.9.2-p0@gemsetname --default

参见:http://beginrescueend.com/gemsets/using/http://beginrescueend.com/gemsets/basics/

为您的每个项目使用特定的 gemset 及其特定的 Gemfile 可能是一个更好的主意。如果您在 Gemfile 中需要 '>= x.y.z',并且您在一个项目中执行了 bundle update,但在另一个项目中没有执行,则可能会出现问题......

cd ProjectA
rvm gemset create projecta
rvm gemset use projecta

cd ProjectB
rvm gemset create projectb
rvm gemset use projectb

这样,尽管您通过 bundle update 将 ProjectA 中的 gem 更新到最新最好的版本,但它们仍然不会针对 ProjectB 进行修改——消除了项目之间干扰的可能性。


您还可以将 .rvmrc 文件添加到目录,例如你的项目目录。然后,RVM 将使用 .rvmrc 文件中列出的 ruby​​ 版本和 gem 集作为所有子目录的默认值。

例如假设您安装了 ruby​​ 1.9.3,并且为该 ruby​​ 版本设置了 gem“rails_3.2”:

# cat .rvmrc
rvm use ruby-1.9.3-p0@rails_3.2

关于ruby-on-rails - 让 rvm 为我创建的每个新 Rails 应用程序使用默认(如全局)gemset 的命令是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8207398/

相关文章:

ruby-on-rails - Authlogic current_user_session 和 current_user

ruby-on-rails - ElasticBeanstalk - Rails Nokogiri 部署问题

ruby-on-rails - 在 ActiveAdmin 中获取 Formtastic 以使用自定义表单输入构建器

gem - 错误:执行 gem 时 ... (Gem::FilePermissionError)

ruby-on-rails - 无法安装 Nokogiri gem

ruby-on-rails - 在 Rails 中构建一个简单的搜索表单?

ruby-on-rails - Rails 在模型问题中包含模块

ruby - zsh:不再找到 Heroku 工具带

ruby-on-rails - 安装Rails错误 “invalid gem: package is corrupt”

ruby-on-rails - "bundle install"导致每个 gem 上的 Gem::RemoteFetcher::FetchError