我有两个项目,其中一个名为A
,Rails
名为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
答案 0 :(得分:1)
由于您从特定(第一个)项目呼叫rake dosomething
到其他项目,因此将从第一个项目应用环境宝石。所以,要么:
将 pry gem依赖项添加到第一个项目中
生成第二个项目,它是纯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
我更喜欢第二种方法。