2014-03-28 35 views
0

我需要安装gem表单git仓库。存储库包含.gemspec文件。在我的宝石文件我有以下代码:我该如何从git仓库安装Gems?

gem 'echo_server', :git => 'http://127.0.0.1/org/echo_server.git' 

当我运行捆绑安装的宝石在.bundeler安装和gem list不显示。

我的问题是: 如何在系统中使用宝石,以便我可以在require中使用?

还有一些类似的SOQ,但它并没有帮助我。

+0

只有'echo-server'gem没有显示在宝石名单或其他人? –

+0

从红宝石宝石中安装的其他宝石正在显示。 – suvankar

回答

2

当您键入gem list时,它不会显示,因为它不像常规宝石一样安装。你可以像require那样,因为Bundler知道它并且会为你设置它。你应该看到它在你的$LOAD_PATH

$LOAD_PATH.grep(/nameofgem/) 

查看此Bundler documentation以获取更多信息。

如果您想将其作为Git存储库中的常规gem安装,则可以克隆存储库,然后构建并安装生成的gem。例如:

gem build echo_server.gemspec 
gem install echo_server-X.Y.Z.gem 

还有specific_install

+0

是的,如果我使用'gem bild'然后'捆绑安装',那么它工作正常。但一些我需要如何使用'bundle install'来自动化它。有什么办法可以实现它吗?在ruby中没有添加任何东西$ LOAD_PATH – suvankar

+1

据我所知,Bundler不能用来从Git仓库安装gem到像gem install这样的gem路径。你可以看到Bundler在'bundle show echo_server'安装gem的地方。我还更新了我的答案,以链接到[specific_install](https://github.com/rdp/specific_install)。 – blom

+0

如果我做'捆绑安装'gem安装在$ BUNDLER_PATH中。我怎么能在irb中使用它? irb> require'echo_server'#=> LoadError:无法加载此文件。因为irb在红宝石家中寻找它,但捆绑商将它安装在家中。 – suvankar