Answers:
如果您使用捆绑程序,则需要在Gemfile中添加以下内容:
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'
并且如果有.gemspec
文件,它应该可以在运行时获取并安装gem bundle install
。
UPD。如评论中所示,为使Bundler正常运行,您还需要向添加以下内容config.ru
:
require "bundler"
Bundler.setup(:default)
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :branch => 'yourbranch'
gem 'redcarpet', github: 'tanoku/redcarpet'
。akash.im/2012/06/05/bundler-new-github-option.html
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :tag => 'v2.3.5'
<-该:tag => ''
部分
好吧,这取决于所讨论的项目。某些项目的根目录中有一个* .gemspec文件。在这种情况下,
gem build GEMNAME.gemspec
gem install gemname-version.gem
其他项目有一个rake任务,称为“ gem”或“ build”或类似的项目,在这种情况下,您必须调用“ rake”,但这取决于项目。
在这两种情况下,您都必须下载源代码。
gemname-version.gem
调用时,文件被创建gem build
gem install gemname-version.gem
命令在本地哪里安装git gem?我在本地计算机的任何地方都找不到以这种方式安装的引擎gem。捆绑器将其隐藏在哪里?
gem install gemname-version.gem
电话应该是gem install --local gemname-version.gem
gem which gemname
应该告诉您特定的宝石在哪里,这对您不起作用吗?
尝试specific_install gem,它允许您从其github存储库(例如“ edge”)或任意URL安装gem。对于在多台机器等上分叉宝石和对其进行黑客攻击非常有用。
gem install specific_install
gem specific_install -l <url to a github gem>
例如
gem specific_install https://github.com/githubsvnclone/rdoc.git
specific_install
宝石上添加更多说明吗?
ERROR: While executing gem ... (NoMethodError) undefined method 'build' for Gem::Package:Module
听起来很酷,但我不会对其进行进一步研究。只是想发贴说,如果有人要根据SO推荐对它进行旋转,它对我不起作用。
Bundler允许您直接从git存储库中使用gems。在您的Gemfile中:
# Use the http(s), ssh, or git protocol
gem 'foo', git: 'https://github.com/dideler/foo.git'
gem 'foo', git: 'git@github.com:dideler/foo.git'
gem 'foo', git: 'git://github.com/dideler/foo.git'
# Specify a tag, ref, or branch to use
gem 'foo', git: 'git@github.com:dideler/foo.git', tag: 'v2.1.0'
gem 'foo', git: 'git@github.com:dideler/foo.git', ref: '4aded'
gem 'foo', git: 'git@github.com:dideler/foo.git', branch: 'development'
# Shorthand for public repos on GitHub (supports all the :git options)
gem 'foo', github: 'dideler/foo'
有关更多信息,请参见https://bundler.io/v2.0/guides/git.html
bundle
,此类git-gem-依赖项不会全局安装,而是安装在当前用户的主目录中。旅客将以您的Web服务器用户(例如www-data
)的身份运行ruby,该用户无法访问此目录,因此不会加载该“ git-gem”。你会得到一个错误... is not yet checked out. Run bundle install first
。
过时的(请参阅评论)
如果项目来自github,并且包含在http://gems.github.com/list.html上的列表中,那么您只需将github存储库添加到gems源即可安装它:
$ gem sources -a http://gems.github.com
$ sudo gem install username-projectname
如果您是从公共GitHub存储库中获取宝石的,则可以使用速记
gem 'nokogiri', github: 'tenderlove/nokogiri'
你也可以做 gem install username-projectname -s http://gems.github.com
require "bundler" Bundler.setup(:default)
有关更多详细信息,请参见捆绑程序文档-Louis