rails为什么需要其他项目捆绑宝石?

时间:2014-01-20 08:49:33

标签: ruby-on-rails ruby ruby-on-rails-3 gem bundler

我有两个项目,其中一个名为ARails名为B另一个名为Ruby的纯A代码。

当我调用名为do_action的{​​{1}}控制器操作时,它会调用B rake任务rake dosomething

但我收到了错误:

rake aborted!
cannot load such file -- pry

pry Gemfile中的gem B

我想知道为什么rails项目A需要B Gemfiles宝石?

我认为我的linux env probelem? THK

1 个答案:

答案 0 :(得分:1)

由于您从特定(第一个)项目呼叫rake dosomething到其他项目,因此将从第一个项目应用环境宝石。所以,要么:

  1. pry gem依赖项添加到第一个项目中

  2. 生成第二个项目,它是纯ruby,作为gem,并将其作为依赖项添加到 Rails 项目的 Gemfile 中,如下所示:

    gem 'your_ruby_project_gem', :path => 'path/to/your/ruby/gem/project'
    

    项目的方式是开发中的当前项目,即参数:path允许您更改该路径下的代码,因此 gem 也将在不更改的情况下进行更改重新安装。请参阅更多bundler documentation。要运行 Rails 项目,您必须按如下方式执行:

    bundle exec rails s
    
  3. 我更喜欢第二种方法。