>

원격으로 사용할 수있는 지정된 보석의 모든 버전을 찾으려고합니다.

나는 사용하려고 시도했다 :

gem list rhc --remote

하지만 다음과 같이 표시됩니다 :

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

어떤 아이디어?


  • 답변 # 1

    내가 생각했던 것보다 쉬웠다. (실제로 그렇게 쉬운 말은하지 말자) :

    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)
    
    

  • 답변 # 2

    RubyGem 가이드에 따르면 search 를 사용해야합니다  예어. 따라서 명령은 다음과 같습니다.

    gem search rhc --all

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

    gem search ^rhc$ --all

    시험판 버전을 포함하려면 --pre 를 사용하십시오.

    gem search ^rhc$ --pre

    그리고 zsh 를 사용한다면  따옴표 추가 :

    gem search '^rhc$' --all

  • 답변 # 3

    @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.
    
    

  • 답변 # 4

    시도 :

    gem list [STRING] [options]
    
    

    예 :

    gem list rhc -r
    
    

    또는 시도 :

    gem list -r rhc
    
    

    (문서와 제공된 예제가 서로 모순되는 것 같습니다. 둘 다 사용해보십시오)

    <시간>

    문서를 참조하십시오 :

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

  • 이전 linux - 줄 번호에서 파일 분할을하는 방법
  • 다음 리눅스에서 공백을 탭으로 교체