আমি কোনও দূরবর্তী সাইটে উপলব্ধ রত্নের সমস্ত সংস্করণকে কীভাবে তালিকাবদ্ধ করব?


133

আমি একটি নির্দিষ্ট রত্নের সমস্ত দূরবর্তী উপলব্ধ সংস্করণগুলি সন্ধান করার চেষ্টা করছি।

আমি ব্যবহার করার চেষ্টা করেছি:

gem list rhc --remote

তবে এটি দেখায়:

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

কোন ধারনা?

উত্তর:


204

ঠিক আছে, আমি যা ভাবি তার থেকে এটি সহজ ছিল (ভাল, আসলে নয়, আসুন যতটা সহজ হওয়া উচিত তাই বলা যাক):

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
এছাড়াও মনে রাখবেন যে "আরএইচসি" একটি রেজেক্স, সুতরাং আপনি যদি কেবলমাত্র এটির দিকে নজর রাখতে চান তবে আপনি অনুসন্ধান করতে পারেন gem list ^rhc$এবং "--রেট" এবং "- সমস্ত" পতাকাগুলি সংক্ষেপে সংযুক্ত করা যায় এবং এর জন্যgem list ^rhc$ -ra
জোশুয়া গাল

5
নোট করুন যে আপনি অন্যান্য বিকল্পগুলি পাস করতে পারেন, যেমন। আপনি চান ফিউশন যাত্রীর সর্বশেষ প্রাক রিলিজ পেতে: gem list -ra --pre passenger(-ra == --রেট
মিরেক রুসিন

5
@ জোশুয়া চিখ নোট করুন যে কয়েকটি শাঁসের মতো zshআরও উন্নত পার্সিং রয়েছে এবং এইভাবে দেওয়া রেইগেক্সটি ধরতে পারে। আরো নিরাপদ হতে (যদি একটি স্ক্রিপ্ট বা README যে মত হেলায় নির্বাণ) নিশ্চিত আমরা এটা 1-1, অর্থাত্ পাস একটি স্ট্রিং এটা তাই আমরা করছি যে করা হয় gem list '^rhc$'ইত্যাদি
mgol

1
@ মি_গল zshআপনার সাহায্যের জন্য আমার এই +1 হিসাবে মন্তব্যগুলি পড়তে হবে !
জেসি হুইথাম

--prereleaseবিটা সংস্করণ দেখতে ব্যবহার করুন
akostadinov

32

রুবিগেমের গাইড অনুসারে আপনার কীওয়ার্ডটি ব্যবহার করা উচিত search। সুতরাং আদেশটি হতে পারে:

gem search rhc --all

আপনি যদি সঠিক নামটি ব্যবহার করতে চান:

gem search ^rhc$ --all

আপনি যদি প্রাকরিলিজ সংস্করণ ব্যবহার অন্তর্ভুক্ত করতে চান --pre

gem search ^rhc$ --pre

এবং যদি আপনি zshঅ্যাড কোট ব্যবহার করছেন :

gem search '^rhc$' --all


4
--prereleaseবিটা সংস্করণ দেখতে ব্যবহার করুন
akostadinov

9

@ আইলেভের উত্তরটি প্রসারিত করতে, আপনি যদি প্রতি লাইনে একটি সংস্করণের তালিকা চান তবে এখানে একটি ওয়ান-লাইনার রয়েছে:

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.

-2

চেষ্টা করুন:

gem list [STRING] [options]

উদাহরণ স্বরূপ:

gem list rhc -r

বা চেষ্টা করুন:

gem list -r rhc

( ডকুমেন্টেশন এবং প্রদত্ত উদাহরণ একে অপরের বিরোধিতা বলে মনে হচ্ছে - উভয়ই চেষ্টা করুন )


ডকুমেন্টেশন দেখুন:

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


1
এটি সমস্ত সংস্করণ তালিকাভুক্ত করে না
অ্যাডাম টেগেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.