Gem 파일에서 로컬 .gem 파일을 지정하려면 어떻게 해야 합니까?
제가 설치하는 몇 개의 보석 파일이 있습니다.gem install xx.gem
번들러에게 그것들을 사용하라고 말할 수 있습니까?아니면 소스 경로를 지정해야 합니까?
이것은 설치에 대한 질문에 대한 답변이 아닙니다..gem
Gem 파일을 편집하여 모든 종류의 위치를 Gem 단위로 지정할 수 있습니다.
지정:path
속성은 해당 경로의 보석을 로컬 컴퓨터에 설치합니다.
gem "foreman", path: "/Users/pje/my_foreman_fork"
또는, 지정:git
특성은 원격 Git 저장소에서 Gem을 설치합니다.
gem "foreman", git: "git://github.com/pje/foreman.git"
# ...or at a specific SHA-1 ref
gem "foreman", git: "git://github.com/pje/foreman.git", ref: "bf648a070c"
# ...or branch
gem "foreman", git: "git://github.com/pje/foreman.git", branch: "jruby"
# ...or tag
gem "foreman", git: "git://github.com/pje/foreman.git", tag: "v0.45.0"
번들러는 박스 밖에서 .gem 파일을 사용할 수 없는 것 같습니다..gem 파일이 포함된 디렉토리에 :path를 지정하면 작동하지 않습니다.어떤 사람들은 그 목적을 위해 로컬 보석 서버(geminabox, stickler)를 설치하자고 제안했습니다.
그러나 파일 시스템에서 로컬 보석 "서버"를 사용하는 것이 훨씬 더 간단하다는 것을 알게 되었습니다..gem 파일을 로컬 디렉터리에 저장한 다음 "gem generate_index"를 사용하여 Gem 저장소로 만들기만 하면 됩니다.
mkdir repo
mkdir repo/gems
cp *.gem repo/gems
cd repo
gem generate_index
마지막으로 Gem 파일에 다음 행을 추가하여 이 위치에 번들러를 가리킵니다.
source "file://path/to/repo"
리포지토리의 보석을 업데이트하는 경우 인덱스를 다시 생성해야 합니다.
애플리케이션 공급업체 폴더에 보석을 포장을 풀겠습니다.
gem unpack your.gem --target /path_to_app/vendor/gems/
그런 다음 Gem 파일의 경로를 추가하여 압축 해제된 Gem을 연결합니다.
gem 'your', '2.0.1', :path => 'vendor/gems/your'
기본적으로 번들러는 먼저 시스템을 확인하고 보석을 찾을 수 없으면 Gem 파일에 지정된 소스를 사용합니다.
"bundle package" 및 "bundle install --local"을 사용하여 배포한 보석을 번들러가 사용하도록 강제할 수 있습니다.
개발 컴퓨터에서 다음을 수행합니다.
bundle install
(필수 보석을 설치하고 Gemfile.lock을 만듭니다.)
bundle package
(벤더/캐시에서 중요한 요소를 캐쉬)
서버에서:
bundle install --local
(--local은 "벤더/캐시의 보석 사용"을 의미합니다.)
추가 중.gem
로.vendor/cache
효과가 있는 것 같습니다.옵션이 필요하지 않음Gemfile
.
다음을 사용하여 자체 Gem 서버를 실행하는 것이 가장 쉽다는 것을 알게 되었습니다.geminabox
언급URL : https://stackoverflow.com/questions/5633939/how-do-i-specify-local-gem-files-in-my-gemfile
'programing' 카테고리의 다른 글
JWT가 포함된 Facebook 여권 (0) | 2023.06.19 |
---|---|
범위에 배열을 쓰는 중입니다.어레이의 첫 번째 값만 가져옵니다. (0) | 2023.06.19 |
테이블 열에 대한 Oracle의 비트 데이터 유형 (0) | 2023.06.19 |
오류 TS4053: 내보낸 클래스에서 반환된 공용 메서드 유형에 '관찰 가능' 이름이 있거나 사용 중입니다. (0) | 2023.06.19 |
문자열에서 하위 문자열의 n번째 발생 찾기 (0) | 2023.06.19 |