번들러로 보석 하나만 업데이트
저는 번들러를 사용하여 레일 앱의 종속성을 관리하고 있으며 다음과 같은 Get 저장소에 Gem을 호스팅하고 있습니다.
gem 'gem-name', :git => 'path/to/my/gem.git'
이 보석을 업데이트하기 위해 실행합니다.bundle update
하지만 Gemfile에 언급된 모든 Gem도 업데이트합니다.그렇다면 특정 보석 하나만 업데이트하는 명령은 무엇입니까?
여기서 사이의 차이에 대한 좋은 설명을 찾을 수 있습니다.
보석 및 종속성 모두 업데이트:
bundle update gem-name
또는
보석만 업데이트:
bundle update --source gem-name
부작용의 좋은 예들과 함께.
갱신하다
@Tim의 답변에 따르면, Bundler 1.14 기준으로 공식적으로 지원되는 방법은 다음과 같습니다.bundle update --conservative gem-name
.
이 방법은 다음 명령을 실행하는 것입니다.
bundle update --source gem-name
번들러의 최신 버전(>= 1.14)에서는 다음과 같이 나타납니다.
bundle update --conservative gem-name
명령행에 보석 이름을 지정하기만 하면 됩니다.
bundle update gem-name
bundle update gem-name [--major|--patch|--minor]
이는 종속성에도 적용됩니다.
사용한 적이 있습니다.bundle update --source
제 자신을 오랫동안 괴롭혔지만, 그것이 작동하지 않는 시나리오가 있습니다.다행히도, 이 단점을 고치기 위한 목표를 가진 보석이라는 것이 있습니다.
저는 또한 어떻게 사용하는지에 대한 짧은 블로그 게시물도 썼습니다.bundler-patch
그리고 왜bundle update --source
지속적으로 작동하지 않습니다.또한, 크리스모가 무엇을 매우 자세히 설명하는 게시물을 반드시 확인하세요.--source
옵션이 있습니다.
bundler update --source gem-name
Gemfile.lock의 수정 버전 해시를 업데이트하여 해당 Git 분기(기본적으로 마스터)의 마지막 커밋 해시와 비교할 수 있습니다.
GIT remote: git@github.com:organization/repo-name.git revision: c810f4a29547b60ca8106b7a6b9a9532c392c954
에서 확인할 수 있습니다.github.com/organization/repo-name/commits/c810f4a2
(URL에는 단축형 8자 커밋 해시를 사용했습니다)
단일 보석을 특정 버전으로 업데이트하려는 경우:
- Gem 파일에서 Gem의 버전 변경
bundle update
> ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
> gem -v
3.0.3
> bundle -v
Bundler version 2.1.4
언급URL : https://stackoverflow.com/questions/11263150/update-just-one-gem-with-bundler
'programing' 카테고리의 다른 글
Ruby에서 map(&:method) 구문에 인수를 제공할 수 있습니까? (0) | 2023.05.31 |
---|---|
레일에서의 OOO 설계:물건을 두는 곳 (0) | 2023.05.31 |
Visual Studio 코드 cmd 오류: 이 시스템에서 실행 중인 스크립트가 사용되지 않도록 설정되었기 때문에 로드할 수 없습니다. (0) | 2023.05.31 |
해시에 특정 키가 있는지 확인하는 방법은 무엇입니까? (0) | 2023.05.31 |
UI 레이블 - Wordwrap 텍스트 (0) | 2023.05.31 |