로컬 젬을 어떻게 설치합니까?


답변:


288

예, 할 때 gem install먼저 현재 디렉토리를 검색하므로 .gem 파일이 있으면 선택합니다. gem reference 에서 찾았습니다 .

gem install은 이름이 지정된 gem을 설치합니다. 로컬 설치 (예 : 현재 디렉토리의 .gem 파일)를 시도하고 실패하면 원하는 최신 버전의 gem을 다운로드하여 설치하려고 시도합니다.


2
링크는 무한 리디렉션으로 끝납니다 :(
Ain Tohvri

2
2019
Charles Wood

1
파일 이 Gemfile있지만 없습니다 .gem. 이 .gem파일 은 무엇 입니까? 무엇을 포함해야합니까? — 잠깐 – 알겠습니다. 당신은 gem-name.gem파일을 의미 합니다. 유닉스에서는 파일이 '.'로 시작하는 것이 일반적입니다. 철자를 쓰는 것이 좋습니다.
마틴

나는 2020의 미래에서 확인할 수 있습니다. 링크가 저에게 효과적입니다. 먼 미래에 작동하지 않는 경우 2020 년 4 월 19 일
Jed Burke

329

또한 사용할 수 있습니다 gem install --local path_to_gem/filename.gem

종료 할 때 발생하는 일반적인 gem 저장소 스캔은 건너 뜁니다 --local.

에서 다른 마술을 찾을 수 있습니다 gem install --help.


zip 형식의 rubygems와 같은 gem을 다운로드합니다. 따라서 여기에는 .gem 파일이 없습니다. 로컬에서 어떻게 설치합니까? 감사합니다.
Erran Morad

3
@BoratSagdiyev, zip 파일은 gem이 아닙니다. 대부분의 zip 파일과 마찬가지로 많은 작업을 수행하기 전에 압축을 풀어야합니다. gem이 포함되어 있으면 추출 된 .gem 파일에서 gem 설치를 사용할 수 있습니다. 나는 gem 형식의 내부를 기억하지 못한다. 특수 헤더가있는 zip 파일 일 수도 있지만 rubygems는 zip 파일을 인식하지 못합니다.
JasonTrue

62

전체 파일 이름을 gem 파일에 사용할 수도 있습니다.

gem install /full/path/to/your.gem

이것은 잘 작동합니다-아마도 가장 쉬운 방법 일 것입니다


38

번 들러로 gem을 생성하는 경우 :

# do this in the proper directory
bundle gem foobar

작성된 후에 레이크를 사용하여 설치할 수 있습니다.

# cd into your gem directory
rake install

다운로드 한 gem도 알고있을 것 rake install입니다.


3
이것은 가장 현대적인 답변처럼 보입니다. 수락 된 답변은 8 년 전
sixty4bit

14

github 또는 다른 scm 호스트 사이트에서 프로젝트 파일을 다운로드하는 경우 gem build를 사용하여 프로젝트를 먼저 빌드하면 현재 디렉토리에서 whatever.gem 파일을 얻을 수 있습니다. 그런 다음 보석을 설치하십시오!


13

현지에서 수정 한 보석 포크에서 작업하려면 가장 좋은 방법은

gem 'pry', path: './pry'

Gemfile에서.

... 여기서 ./pry저장소의 복제본이됩니다. bundle install한 번만 실행 하면 변경 한 gem 소스의 변경 사항이 즉시 반영됩니다. 을 사용 gem install pry/pry.gem하면 소스가 계속 이동 GEM_PATH하므로 항상 테스트 bundle gem prygem update테스트를 모두 실행해야합니다 .


5

보석이있는 경로로 이동하여 전화하십시오. gem install -l gemname.gem


0

이건 내 DRY 설치입니다.

  1. 캐시 디렉토리에 필요한 gem이 이미 설치된 컴퓨터를 살펴보십시오 (기본적으로 [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache).
  2. 모든 "복사 *.gems(기본적으로 첫 번째 단계의 동일한 수호 경로 : 자신의 보석 캐시 장소에 보석없이 컴퓨터에 파일을" [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)
  3. 콘솔에서 gems 캐시 (cd [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) 에 위치하고 gem install anygemwithdependencieshere(예 cucumber-2.99.0:)

gem을 설치 한 후 기본적으로 rubygems는 gem gem 파일을 캐시 gem 디렉토리에 넣고 해당 파일을 복제하는 것은 말이되지 않기 때문에 건조합니다. 두 컴퓨터의 버전이 같거나 편집증적인 보안 규칙에 의해 부풀어 오르면 더 쉽습니다.

편집 : 루비 또는 루비 젬의 일부 버전에서는 작동하지 않고 경고 또는 오류가 발생하지만 보석을 다른 곳에 배치 할 수는 있지만 DRY를 얻을 수는 없습니다. 다른 대안은 launch 통합 명령을 사용 gem server하고 보석 소스에 localhost URL을 추가하는 것입니다. https://guides.rubygems.org/run-your-own-gem-server/의 정보


0

https://rubygems.org/gems/ 에서 gem을 다운로드 하거나 번들 및 랙을 통해 로컬 gem을 빌드 할 수 있습니다 .

예 :

  • 번들 보석 yourGemName
  • 레이크 설치

실제 gem을 설치하기 전에 종속성 설치를주의하십시오.

  • gem install --local /pathToFolder/xxx-2.6.1.gem

참고 : 동일한 시스템에서 유창 td 에이전트와 루비를 사용하는 경우. td-agent의 td-agent-gem 명령을 사용해야합니다. td-agent에는 Ruby가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.