원격 사이트에서 사용할 수 있는 모든 버전의 보석을 나열하려면 어떻게 해야 합니까?
저는 지정된 보석의 모든 원격 사용 가능한 버전을 찾으려고 합니다.
다음을 사용해 보았습니다.
gem list rhc --remote
하지만 다음을 보여줍니다.
*** REMOTE GEMS ***
rhc (0.84.15)
rhcp (0.2.18)
rhcp_shell (0.2.12)
아이디어 있어요?
글쎄요, 생각보다 쉬웠어요 (글쎄요, 사실은 아니지만, 그렇게 해야 할 만큼 쉽다고 합시다):
gem list rhc --remote --all
반환되는 항목:
*** REMOTE GEMS ***
rhc (0.84.15, 0.84.13, 0.83.9, 0.82.18, 0.81.14, 0.80.5, 0.79.5, 0.77.8, 0.75.9, 0.74.6, 0.74.5, 0.73.14, 0.72.29, 0.71.2, 0.69.6, 0.69.3, 0.68.5)
rhcp (0.2.18, 0.2.17, 0.2.16, 0.2.15, 0.2.14, 0.1.9, 0.1.8, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3, 0.1.2)
rhcp_shell (0.2.12, 0.2.11, 0.0.9, 0.0.7, 0.0.6, 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1)
RubyGem's Guide에 따르면 다음을 사용해야 합니다.search
키워드명령은 다음과 같습니다.
gem search rhc --all
정확한 이름을 사용하려면 다음을 사용합니다.
gem search ^rhc$ --all
사전 릴리스 버전을 포함하려면 다음을 사용합니다.--pre
gem search ^rhc$ --pre
그리고 만약 당신이 사용한다면.zsh
따옴표 추가:
gem search '^rhc$' --all
@eyalev의 답변을 확장하기 위해 한 줄에 하나의 버전 목록이 필요한 경우 다음과 같이 한 줄로 표시합니다.
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
이 기능을 좀 더 재사용할 수 있도록 다음과 같은 기능을 작성할 수 있습니다(나의 제한된 배시 스킬은 양해해 주십시오).
function extract_gem_versions() {
echo "$1" \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n";
}
function gem_versions() {
local gem_name="$1";
local pattern="^${gem_name}$";
local vers_str="$(gem search ${pattern} --all)";
extract_gem_versions "$vers_str";
}
gem_versions rspec | sort
0.0.10
0.1.0
0.1.1
# etc.
gem info
둘 다 제공합니다.--remote
원격 보석만 확인하는 옵션--all
알려진 모든 버전을 표시하는 방법
$ gem info rhc --remote --all
*** REMOTE GEMS ***
rhc (1.38.7, 1.38.4, 1.37.1, 1.36.4, 1.35.4, 1.35.3, 1.35.1, 1.34.2, 1.33.4, 1.32.2, 1.31.5, 1.30.3, 1.30.2, 1.29.7, 1.28.5, 1.27.4, 1.26.9, 1.25.3, 1.25.2, 1.24.4, 1.23.7, 1.22.5, 1.21.3, 1.20.3, 1.19.5, 1.18.2, 1.17.6, 1.16.9, 1.15.6, 1.14.7, 1.13.6, 1.12.4, 1.11.4, 1.10.7, 1.9.6, 1.8.9, 1.7.8, 1.6.8, 1.5.13, 1.4.8, 1.4.7, 1.3.8, 1.2.7, 1.1.11, 1.0.4, 0.98.16, 0.97.17, 0.96.9, 0.95.14, 0.95.13, 0.94.8, 0.93.19, 0.93.18, 0.92.11, 0.91.12, 0.91.11, 0.90.7, 0.90.6, 0.88.9, 0.87.8, 0.86.7, 0.85.12, 0.84.15, 0.84.13, 0.83.9, 0.82.18, 0.81.14, 0.80.5, 0.79.5, 0.77.8, 0.75.9, 0.74.6, 0.74.5, 0.73.14, 0.72.29, 0.71.2, 0.69.6, 0.69.3, 0.68.5)
Author: Red Hat
Homepage: https://github.com/openshift/rhc
OpenShift Client Tools
gem (list|search)
유사한 기능 제공)--remote --all
하지만 만약 당신이 특정 보석을 찾고 있다면.--exact
옵션은 정확한 일치 항목만 찾습니다.
$ gem search rhc --remote --all --exact
*** REMOTE GEMS ***
rhc (1.38.7, 1.38.4, 1.37.1, 1.36.4, 1.35.4, 1.35.3, 1.35.1, 1.34.2, 1.33.4, 1.32.2, 1.31.5, 1.30.3, 1.30.2, 1.29.7, 1.28.5, 1.27.4, 1.26.9, 1.25.3, 1.25.2, 1.24.4, 1.23.7, 1.22.5, 1.21.3, 1.20.3, 1.19.5, 1.18.2, 1.17.6, 1.16.9, 1.15.6, 1.14.7, 1.13.6, 1.12.4, 1.11.4, 1.10.7, 1.9.6, 1.8.9, 1.7.8, 1.6.8, 1.5.13, 1.4.8, 1.4.7, 1.3.8, 1.2.7, 1.1.11, 1.0.4, 0.98.16, 0.97.17, 0.96.9, 0.95.14, 0.95.13, 0.94.8, 0.93.19, 0.93.18, 0.92.11, 0.91.12, 0.91.11, 0.90.7, 0.90.6, 0.88.9, 0.87.8, 0.86.7, 0.85.12, 0.84.15, 0.84.13, 0.83.9, 0.82.18, 0.81.14, 0.80.5, 0.79.5, 0.77.8, 0.75.9, 0.74.6, 0.74.5, 0.73.14, 0.72.29, 0.71.2, 0.69.6, 0.69.3, 0.68.5)
gem info
최대 한 개의 보석이 돌아올 것입니다;gem (list|search)
여러 개의 보석을 반환할 수 있습니다. gem info
당신이 찾고 있는 것이 무엇인지 안다면 이상적입니다.gem (list|search)
보석 이름의 불확실성이 있을 때 도움이 될 수 있습니다.또한.gem list
에서는 원격 작업이 가능하지만 로컬 보석을 검색하기 위해 자체적으로 설명합니다.
보석에 사용할 수 있는 원격 버전만 반환하는 명령/옵션 집합은 없는 것 같습니다.@jared-beck가 한 대답을 복습하기 위해, 텍스트 조작으로 그것을 추출할 수 있습니다.
$ gem info rhc --remote --all | grep -o '\((.*)\)$' | tr -d '() ' | tr ',' "\n"
1.38.7
1.38.4
1.37.1
1.36.4
1.35.4
# ... truncated ...
더 나은 솔루션
gem search '^rhc$' --all
이러한 공유 지식에 대한 동기 부여
예상치 못한 결과를 던지는 승인된 답변이 표시됩니다.
시도:
gem list [STRING] [options]
예:
gem list rhc -r
또는 시도:
gem list -r rhc
(설명서와 제공된 예제가 서로 모순되는 것 같습니다. 둘 다 시도해 보십시오.)
설명서를 참조하십시오.
http://docs.rubygems.org/read/chapter/10#page34
언급URL : https://stackoverflow.com/questions/9146012/how-do-i-list-all-versions-of-a-gem-available-at-a-remote-site
'programing' 카테고리의 다른 글
예외를 발생시키지 않고 Ruby에서 현재 스택 추적 가져오기 (0) | 2023.06.01 |
---|---|
Git, 오리진/마스터를 커밋으로 재설정하는 방법은 무엇입니까? (0) | 2023.06.01 |
psql: 치명적:사용자 "postgres"에 대한 ID 인증 실패 (0) | 2023.06.01 |
presentViewController 및 탐색 모음 표시 (0) | 2023.06.01 |
두 문자열을 연결하여 전체 경로를 만드는 방법 (0) | 2023.06.01 |