Seb*_*btm 10 gem plugins dependencies ruby-on-rails
我写了一个插件,需要宝石作为依赖.
我在哪里定义这种依赖?
我试图在vendor/plugins/my_plugin /中创建一个Gemfile,但是bundle install找不到这个文件.
Seb*_*btm 16
好.我已经解决了.
1)在vendor/plugins/my_plugin中创建一个Gemfile,如:
# Gemfile
source "http://rubygems.org"
gemspec
Run Code Online (Sandbox Code Playgroud)
2)创建gemspec文件.在文件夹vendor/plugins中运行以下命令:
bundle gem my_plugin
Run Code Online (Sandbox Code Playgroud)
(注意此命令要求您覆盖一些文件.在回答之前检查文件:Y)
3)在vendor/plugins/my_plugin /中打开gemspec文件,并在关键字end之前添加:
s.add_dependency('will_paginate', '~> 3.0.pre2')
Run Code Online (Sandbox Code Playgroud)
(在这个例子中我使用了will_paginate my_plugin需要的相关性)
4)现在进入你的rails应用程序并编辑Gemfile,添加:
gem 'my_plugin', :path=>'vendor/plugins/my_plugin'
Run Code Online (Sandbox Code Playgroud)
指定的路径假设您的插件已经在rails应用程序的vendor/plugins文件夹中.当然,在部署rails app时,您不再需要指定:path参数.
5)现在在rails app root中:
bundle install
Run Code Online (Sandbox Code Playgroud)
并且安装了my_plugin(在这种情况下为will_paginate)的依赖性.
感谢Sinetris的初始输入.