답변:
번 들러를 사용하는 경우 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
다른 프로젝트에는 "gem"또는 "build"또는 이와 유사한 레이크 작업이 있습니다.이 경우 "rake"를 호출해야하지만 프로젝트에 따라 다릅니다.
두 경우 모두 소스를 다운로드해야합니다.
gemname-version.gem
호출 할 때 파일이 만들어집니다gem build
gem install gemname-version.gem
명령은 git gem을 로컬로 어디에 설치합니까? 이 방법으로 설치된 엔진 젬을 로컬 컴퓨터의 어느 곳에서도 찾을 수 없습니다. 번 들러는 어디에 숨깁니까?
gem install gemname-version.gem
라인이 있어야 한다고 생각 합니다.gem install --local gemname-version.gem
gem which gemname
특정 보석의 위치를 알려줘야합니다.
github 저장소 (예 : 'edge') 또는 임의의 URL에서 gem을 설치할 수 있는 specific_install 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 권장 사항에 따라 소용돌이를 줄 경우를 대비하여 저에게 효과적이지 않다고 게시하고 싶었습니다.
번 들러를 사용하면 자식 저장소에서 직접 보석을 사용할 수 있습니다. 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- 종속성은 전체적으로 설치되지 않고 현재 사용자의 홈 디렉토리에 설치됩니다. 승객은 www-data
이 디렉토리에 액세스 할 수없는 웹 서버 사용자 (예 :)로 ruby를 실행하므로이 "git-gem"은로드되지 않습니다. 오류가 발생 ... is not yet checked out. Run bundle install first
합니다.
OBSOLETE (댓글 참조)
프로젝트가 github에서 왔고 http://gems.github.com/list.html 의 목록에 포함되어 있다면 gem 소스에 github 저장소를 추가하여 설치할 수 있습니다.
$ 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)
자세한 내용은 번 들러 문서 를 참조하십시오