it-source

Gem 파일에서 로컬 보석을 지정하려면 어떻게 해야 합니까?

criticalcode 2023. 6. 6. 00:00
반응형

Gem 파일에서 로컬 보석을 지정하려면 어떻게 해야 합니까?

번들러가 현지 보석을 싣고 싶습니다.그것에 대한 옵션이 있습니까?아니면 gem 폴더를 .bundle 디렉토리로 이동해야 합니까?

저는 당신이 이것을 할 수 있다고 믿습니다.

gem "foo", path: "/path/to/foo"

Jimmy가 언급한 대로 경로를 지정하는 것 외에도 다음 구성 옵션을 사용해야만 Bundler가 사용자 환경에 로컬 보석을 사용하도록 강제할 수 있습니다.

$ bundle config set local.GEM_NAME /path/to/local/git/repository

이는 두 개의 보석 또는 보석과 레일 앱을 나란히 개발하는 경우 매우 유용합니다.

그러나 이것은 의존성에 대해 git를 이미 사용하고 있는 경우에만 작동합니다. 예를 들어 다음과 같습니다.

# In Gemfile
gem 'rack', :github => 'rack/rack', :branch => 'master'

# In your terminal
$ bundle config set local.rack ~/Work/git/rack

문서에서 본 것처럼.

만약 당신이 그것을 작업하고 있다면, 당신은 또한 git와 함께 지역 보석을 참조할 수 있습니다.

gem 'foo',
  :git => '/Path/to/local/git/repo',
  :branch => 'my-feature-branch'

그러면, 만약 바뀌면, 나는 뛰어요.

bundle exec gem uninstall foo
bundle update foo

하지만 모두가 이 두 단계를 실행할 필요가 있는지 확신할 수 없습니다.

Rails 프로젝트에서 로컬 보석 저장소를 사용하려면 다음 단계를 수행합니다.

  1. Gem 폴더가 Git 저장소인지 확인합니다(명령은 Gem 폴더에서 실행됨).

    git rev-parse --is-inside-work-tree
    
  2. 리포지토리 경로를 가져오는 중(명령이 Gem 폴더에서 실행됨)

    git rev-parse --show-toplevel
    
  3. 레일 응용 프로그램에 대한 로컬 재정의 설정

    bundle config local.GEM_NAME /path/to/local/git/repository
    

    어디에GEM_NAME당신의 보석의 이름이고/path/to/local/git/repository해당 명령의 출력입니다.2

  4. 응용 프로그램에서Gemfile다음 행을 추가합니다.

    gem 'GEM_NAME', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'
    
  5. 입니다.bundle install다음과 같은 것을 제공해야 합니다.

    Using GEM_NAME (0.0.1) from git://github.com/GEM_NAME/GEM_NAME.git (at /path/to/local/git/repository) 
    

    어디에GEM_NAME당신의 보석의 이름이고/path/to/local/git/repository처음부터2

  6. 마지막으로, 실행bundle list,것은 아니다.gem list그리고 당신은 다음과 같은 것을 봐야 합니다.

    GEM_NAME (0.0.1 5a68b88)
    

    어디에GEM_NAME당신의 보석의 이름입니다.


다음을 사용하여 몇 가지 중요한 사례를 관찰하고 있습니다.

Rails 4.0.2  
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] 
Ubuntu 13.10  
RubyMine 6.0.3
  • 인것 같습니다RubyMine로컬 보석을 외부 라이브러리로 표시하지 않습니다.버그에 대한 자세한 정보는 여기와 여기에서 확인할 수 있습니다.
  • 내가 로컬 보석에서 무언가를 바꿀 때, 레일 애플리케이션에 로드되기 위해 나는 해야 합니다.stop/start철도 서버
  • 변경하는 경우version보석의,stopping/startingRails 서버에서 오류가 발생합니다.수정하기 위해 레일 응용 프로그램에 보석 버전을 지정합니다.Gemfile다음과 같이:

    gem 'GEM_NAME', '0.0.2', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'
    

소스와 함께 보석을 참조할 수 있습니다.

source: 'https://source.com', git repository (:github => 'git/url')그리고 로컬 경로와 함께.

:path => '.../path/gem_name'.

[Gem 파일 및 사용 방법](https://kolosek.com/rails-bundle-install-and-gemfile) )에 대해 자세히 알아볼 수 있습니다.

분기도 원하는 경우:

gem 'foo', path: "point/to/your/path", branch: "branch-name"

언급URL : https://stackoverflow.com/questions/4487948/how-can-i-specify-a-local-gem-in-my-gemfile

반응형