원격 사이트에서 사용할 수있는 gem의 모든 버전을 어떻게 나열합니까?


133

지정된 gem의 원격으로 사용 가능한 모든 버전을 찾으려고합니다.

나는 다음을 사용하려고 시도했다.

gem list rhc --remote

그러나 그것은 보여줍니다 :

*** REMOTE GEMS ***
rhc (0.84.15)
rhcp (0.2.18)
rhcp_shell (0.2.12)

어떤 아이디어?

답변:


205

글쎄, 내가 생각했던 것보다 쉬웠다 (실제로 쉽지는 않다고 말하자).

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)

52
또한 당신이 검색 할 수 있습니다, 당신은 단지 하나보고 싶을 그렇다면, 정규식은 그 "RHC"를 참고 gem list ^rhc$하고 "--remote"과 플래그를 생략하고 위해 결합 될 수있다 "--all"gem list ^rhc$ -ra
여호수아 뺨

5
다른 옵션을 전달할 수 있습니다. : 당신이 원하는 것 phusion 승객의 최신 사전 출시 얻을 수 있습니다 gem list -ra --pre passenger(-ra == --remote --all)
미렉 Rusin

5
@JoshuaCheek는 일부 포탄 zsh에는 고급 구문 분석 기능이 있으며 이런 식으로 주어진 정규 표현식을 잡을 수 있습니다. 더 안전하려면 (스크립트 나 README에 sth를 넣는 경우) 문자열을 넣어 1-1, 즉 gem list '^rhc$'등을 전달해야합니다 .
mgol

1
@m_gol은 내가 zsh당신의 도움을 위해이 +1 한 것처럼 의견을 읽고있었습니다 !
Jesse Whitham

--prerelease베타 버전을 보는 데 사용
akostadinov

32

RubyGem 's Guide 에 따르면 search키워드를 사용해야합니다 . 따라서 명령은 다음과 같습니다.

gem search rhc --all

정확한 이름을 사용하려면 다음을 사용하십시오.

gem search ^rhc$ --all

시험판 버전을 포함 시키려면 --pre

gem search ^rhc$ --pre

그리고 zsh따옴표를 사용하는 경우 :

gem search '^rhc$' --all


4
--prerelease베타 버전을 보는 데 사용
akostadinov

9

@eyalev의 답변을 확장하려면 한 줄에 하나의 버전 목록을 원하면 다음과 같이 하나의 라이너가 있습니다.

gem search '^rspec$' --all \
  | grep -o '\((.*)\)$' \
  | tr -d '() ' \
  | tr ',' "\n" \ 
  | sort
0.0.10
0.1.0
0.1.1
# etc.

이것을 좀 더 재사용 가능하게 만들기 위해 일부 함수를 작성할 수 있습니다 (제한된 bash 기술을 용서하십시오).

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.

-2

시험:

gem list [STRING] [options]

예를 들면 다음과 같습니다.

gem list rhc -r

또는 시도하십시오 :

gem list -r rhc

( 문서와 제공된 예제가 서로 모순되는 것처럼 보입니다. 둘 다 시도하십시오 )


설명서를 참조하십시오.

http://docs.rubygems.org/read/chapter/10#page34


1
여기에는 모든 버전이 나와 있지 않습니다
Adam Tegen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.