【问题标题】:rails why need other project bundle gems?rails 为什么需要其他项目捆绑 gem?
【发布时间】:2014-01-20 08:49:32
【问题描述】:

我有两个项目,一个叫ARails 另一个叫B 只是纯Ruby 代码。

当我调用名为do_actionA 控制器操作时,它将调用B rake 任务,例如rake dosomething

但我得到了错误:

rake aborted!
cannot load such file -- pry

B Gemfile 中的 gem pry

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

我认为我的 linux 环境问题?想

【问题讨论】:

  • 在 application.rb 中 require 'rails' 之后添加 require "pry"
  • 是的,我能做到。它将使项目A 更大,所以我认为有最好的方法。 THK
  • 这个答案有帮助吗?

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


【解决方案1】:

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

  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
    

我更喜欢第二种方法。

【讨论】:

  • project B 不仅仅是纯 ruby​​ 代码。这是 ruby​​ 项目,它会经常更改。我不想去 gem.so 有办法吗?
  • @lioooo 是的,建议的 second 方式适用于正在开发中的项目,即参数:path 允许您更改路径下的代码,因此您“ gem”也将更改而无需重新安装:阅读此处:bundler.io/v1.5/gemfile.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 2022-07-04
  • 2012-07-08
  • 2014-02-01
  • 2013-01-10
  • 1970-01-01
相关资源
最近更新 更多