আমি কীভাবে হোমব্রুতে একটি সূত্রের একটি নির্দিষ্ট সংস্করণ ইনস্টল করব? উদাহরণস্বরূপ, সর্বশেষ 9.0 এর পরিবর্তে পোস্টগ্রেক্সেল -8.4.4।
আমি কীভাবে হোমব্রুতে একটি সূত্রের একটি নির্দিষ্ট সংস্করণ ইনস্টল করব? উদাহরণস্বরূপ, সর্বশেষ 9.0 এর পরিবর্তে পোস্টগ্রেক্সেল -8.4.4।
উত্তর:
টিএলডিআর: আরও তথ্যের জন্য নীচের উত্তরbrew install postgresql@8.4.4
দেখুন ।
* ( আমি হোমব্রিউ সহ পুরানো সফ্টওয়্যার সংস্করণ ইনস্টল / ব্যবহার করার জন্য আরও পুঙ্খানুপুঙ্খ ওয়ার্কফ্লো দিতে আমার উত্তরটি পুনরায় সম্পাদনা করেছি the আপনি যদি পুরানো সংস্করণটি আরও ভাল দেখতে পান তবে একটি নোট যোগ করতে দ্বিধা বোধ করবেন না ))
আসুন সবচেয়ে সহজ কেস দিয়ে শুরু করা যাক:
হোমব্রিউ যখন একটি নতুন সূত্র ইনস্টল করে, এটি এটি কোনও সংস্করণযুক্ত ডিরেক্টরিতে রাখে /usr/local/Cellar/postgresql/9.3.1
। কেবলমাত্র এই ফোল্ডারটির প্রতীকী লিঙ্কগুলি তখন বিশ্বব্যাপী ইনস্টল করা হবে। নীতিগতভাবে, এটি দুটি ইনস্টল করা সংস্করণের মধ্যে স্যুইচ করা বেশ সহজ করে তোলে। (*)
আপনি যদি দীর্ঘকাল ধরে হোমব্রু ব্যবহার করছেন এবং কখনও পুরানো সংস্করণগুলি অপসারণ করেন না (উদাহরণস্বরূপ, ব্যবহার করে brew cleanup
), আপনার প্রোগ্রামের কিছু পুরানো সংস্করণ এখনও আশেপাশে থাকতে পারে। আপনি যদি পূর্ববর্তী সংস্করণটি কেবল সক্রিয় করতে চান তবে brew switch
এটি করার সহজতম উপায়।
brew info postgresql
(বা brew switch postgresql <TAB>
) পুরানো সংস্করণ ইনস্টল করা আছে কিনা তা দিয়ে পরীক্ষা করুন :
$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M)
Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M) *
Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more
আমরা দেখতে পাই যে কিছু পুরানো সংস্করণ ইতিমধ্যে ইনস্টল করা আছে। আমরা এটি ব্যবহার করে এটি সক্রিয় করতে পারি brew switch
:
$ brew switch postgresql 9.1.5
Cleaning /usr/local/Cellar/postgresql/9.1.5
Cleaning /usr/local/Cellar/postgresql/9.3.2
384 links created for /usr/local/Cellar/postgresql/9.1.5
কী সক্রিয় তা ডাবল-চেক করি:
$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M) *
Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M)
Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more
নোট করুন যে তারকাটি *
নতুন সক্রিয় সংস্করণে চলে গেছে
(*) দয়া করে মনে রাখবেন যে brew switch
পুরানো সংস্করণটির সমস্ত নির্ভরতা এখনও যতক্ষণ না রয়েছে কেবল ততক্ষণ কাজ করে। কিছু ক্ষেত্রে, পুরানো সংস্করণটির একটি পুনর্নির্মাণ প্রয়োজনীয় হয়ে উঠতে পারে। সুতরাং, brew switch
যখন বেশিরভাগ দূরে নয় দুটি সংস্করণের মধ্যে স্যুইচ করতে চায় তখন ব্যবহার করা বেশিরভাগ ক্ষেত্রে কার্যকর।
বিশেষত বৃহত্তর সফ্টওয়্যার প্রকল্পগুলির জন্য, সম্ভবত এটি সম্ভবত সফ্টওয়্যারটির একটি নির্দিষ্ট অংশের কয়েকটি (সম্ভাব্য এপিআই বেমানান) প্রধান সংস্করণগুলির জন্য যথেষ্ট পরিমাণে চাহিদা রয়েছে। মার্চ ২০১২ পর্যন্ত, হোমব্রু 0.9 এটির জন্য একটি প্রক্রিয়া সরবরাহ করে: brew tap
এবং হোমব্রু সংস্করণগুলির সংগ্রহস্থল।
এই সংস্করণগুলির সংগ্রহস্থলটিতে বেশ কয়েকটি সূত্রের জন্য পুরানো সংস্করণের ব্যাকপোর্টগুলি অন্তর্ভুক্ত থাকতে পারে। (বেশিরভাগ ক্ষেত্রে কেবলমাত্র বড় এবং বিখ্যাত সেগুলি রয়েছে তবে অবশ্যই পোস্টগ্র্যাস্কিলের জন্য তাদের বেশ কয়েকটি সূত্র থাকবে))
brew search postgresql
আপনাকে কোথায় দেখাবে তা দেখিয়ে দেবে:
$ brew search postgresql
postgresql
homebrew/versions/postgresql8 homebrew/versions/postgresql91
homebrew/versions/postgresql9 homebrew/versions/postgresql92
আমরা কেবল টাইপ করে এটি ইনস্টল করতে পারি
$ brew install homebrew/versions/postgresql8
Cloning into '/usr/local/Library/Taps/homebrew-versions'...
remote: Counting objects: 1563, done.
remote: Compressing objects: 100% (943/943), done.
remote: Total 1563 (delta 864), reused 1272 (delta 620)
Receiving objects: 100% (1563/1563), 422.83 KiB | 339.00 KiB/s, done.
Resolving deltas: 100% (864/864), done.
Checking connectivity... done.
Tapped 125 formula
==> Downloading http://ftp.postgresql.org/pub/source/v8.4.19/postgresql-8.4.19.tar.bz2
# …
মনে রাখবেন, এই স্বয়ংক্রিয়ভাবে চাপড় মেরেhomebrew/versions
আলতো চাপুন। (সাথে চেক করুন brew tap
, মুছে ফেলুন brew untap homebrew/versions
)) নিম্নলিখিতগুলি সমতুল্য হত:
$ brew tap homebrew/versions
$ brew install postgresql8
যতক্ষণ ব্যাকপোর্টেড সংস্করণ সূত্রগুলি আপ টু ডেট থাকে, এই পদ্ধতির সম্ভবত পুরানো সফ্টওয়্যার মোকাবেলার সেরা উপায় way
নিম্নলিখিত পদ্ধতির বেশিরভাগ সম্পূর্ণতার জন্য তালিকাভুক্ত করা হয়। দু'জনেই মদ সংগ্রহস্থল থেকে কিছু অপরিবর্তিত সূত্রকে পুনরুত্থিত করার চেষ্টা করে। পরিবর্তিত নির্ভরতা, সূত্রের বৈশিষ্ট্য অনুসারে এপিআই পরিবর্তন বা ডাউনলোড ইউআরএল পরিবর্তনের কারণে জিনিসগুলি কাজ করতে পারে বা নাও পারে।
যেহেতু পুরো সূত্র ডিরেক্টরিটি একটি গিট সংগ্রহস্থল, তাই কোনও সাধারণ প্লে গিট কমান্ড ব্যবহার করে নির্দিষ্ট সংস্করণ ইনস্টল করতে পারে। যাইহোক, আমাদের পুরানো সংস্করণটি উপলব্ধ ছিল এমন কোন প্রতিশ্রুতিতে পৌঁছানোর উপায় খুঁজে বের করতে হবে।
ক) .তিহাসিক সময়
মধ্যে আগস্ট 2011 থেকে অক্টোবর 2014 , homebrew একটি ছিল brew versions
কমান্ড, যা তাদের নিজ নিজ রয়েছে SHA হ্যাশ সঙ্গে সমস্ত উপলব্ধ সংস্করণ আউট থুতু ফেললেন। অক্টোবর 2014 পর্যন্ত, আপনি brew tap homebrew/boneyard
এটি ব্যবহার করার আগে আপনাকে একটি কাজ করতে হবে। ট্যাপটির নামটি যেমন পরামর্শ দেয়, সম্ভবত আপনার এটি কেবল সর্বশেষ সমাধান হিসাবে করা উচিত।
যেমন
$ brew versions postgresql
Warning: brew-versions is unsupported and may be removed soon.
Please use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
9.3.2 git checkout 3c86d2b Library/Formula/postgresql.rb
9.3.1 git checkout a267a3e Library/Formula/postgresql.rb
9.3.0 git checkout ae59e09 Library/Formula/postgresql.rb
9.2.4 git checkout e3ac215 Library/Formula/postgresql.rb
9.2.3 git checkout c80b37c Library/Formula/postgresql.rb
9.2.2 git checkout 9076baa Library/Formula/postgresql.rb
9.2.1 git checkout 5825f62 Library/Formula/postgresql.rb
9.2.0 git checkout 2f6cbc6 Library/Formula/postgresql.rb
9.1.5 git checkout 6b8d25f Library/Formula/postgresql.rb
9.1.4 git checkout c40c7bf Library/Formula/postgresql.rb
9.1.3 git checkout 05c7954 Library/Formula/postgresql.rb
9.1.2 git checkout dfcc838 Library/Formula/postgresql.rb
9.1.1 git checkout 4ef8fb0 Library/Formula/postgresql.rb
9.0.4 git checkout 2accac4 Library/Formula/postgresql.rb
9.0.3 git checkout b782d9d Library/Formula/postgresql.rb
আপনি দেখতে পাচ্ছেন, এটি এটি ব্যবহারের বিরুদ্ধে পরামর্শ দেয়। হোমব্রু সমস্ত অভ্যন্তরীন হিউরিস্টিক সহ এটি খুঁজে পেতে পারে এবং এটি পুরানো সূত্রগুলি পুনরুদ্ধার করার উপায় দেখায় versions চল এটা চেষ্টা করি.
# First, go to the homebrew base directory
$ cd $( brew --prefix )
# Checkout some old formula
$ git checkout 6b8d25f Library/Formula/postgresql.rb
$ brew install postgresql
# … installing
এখন যেহেতু পুরাতন পোস্টগ্রেস্কএল সংস্করণ ইনস্টল করা আছে, আমরা আমাদের সংগ্রহস্থল পরিষ্কার রাখার জন্য সর্বশেষ সূত্রটি পুনরায় ইনস্টল করতে পারি:
$ git checkout -- Library/Formula/postgresql.rb
brew switch
পুরানো এবং নতুন মধ্যে পরিবর্তন আপনার বন্ধু?
খ) প্রাগৈতিহাসিক সময়
বিশেষ প্রয়োজনের জন্য, আমরা হোমব্রিউ রেপোতেও নিজস্ব খনন চেষ্টা করতে পারি।
$ cd Library/Taps/homebrew/homebrew-core && git log -S'8.4.4' -- Formula/postgresql.rb
git log -S
'8.4.4'
ফাইলটিতে স্ট্রিংটি যুক্ত বা মুছে ফেলা হয়েছে এমন সমস্ত কমিটের সন্ধান করে Library/Taps/homebrew/homebrew-core/Formula/postgresql.rb
। ফলস্বরূপ আমরা দুটি কমিট পাই।
commit 7dc7ccef9e1ab7d2fc351d7935c96a0e0b031552
Author: Aku Kotkavuo
Date: Sun Sep 19 18:03:41 2010 +0300
Update PostgreSQL to 9.0.0.
Signed-off-by: Adam Vandenberg
commit fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
Author: David Höppner
Date: Sun May 16 12:35:18 2010 +0200
postgresql: update version to 8.4.4
স্পষ্টতই, fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
আমরা যে প্রতিশ্রুতি নিয়ে আগ্রহী তা কি। এই প্রতিশ্রুতিটি বেশ পুরানো হওয়ায় আমরা সম্পূর্ণ হোমব্রিউ ইনস্টলেশনটি ডাউনগ্রেড করার চেষ্টা করব (এইভাবে, সূত্রটি API কমবেশি বৈধ হওয়ার গ্যারান্টিযুক্ত):
$ git checkout -b postgresql-8.4.4 fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
$ brew install postgresql
$ git checkout master
$ git branch -d postgresql-8.4.4
আপনার গিট সংগ্রহস্থলটিতে রেফারেন্স রাখতে আপনি শেষ কমান্ডটি এড়িয়ে যেতে পারেন।
একটি নোট: পুরানো প্রতিশ্রুতি পরীক্ষা করার সময়, আপনি অস্থায়ীভাবে আপনার হোমব্রিউ ইনস্টলেশন ডাউনগ্রেড করেন। সুতরাং, আপনার সাবধানতা অবলম্বন করা উচিত যেহেতু হোমব্রুতে কিছু আদেশগুলি সাম্প্রতিকতম সংস্করণের চেয়ে আলাদা হতে পারে।
এটি খুব কঠিন নয় এবং এরপরে আপনি এটি নিজের সংগ্রহস্থলে আপলোড করতে পারেন। হোমব্রিউ-সংস্করণ হিসাবে ব্যবহৃত হত , তবে এটি এখন বন্ধ।
আপনি যদি একটি প্রাকৃতিক সংস্করণ রাখতে চান, পোস্টগ্রেএসকিএলকে চারপাশে বলুন এবং প্রাকৃতিক brew update; brew upgrade
পদ্ধতিটি সম্পাদন করার পরে এটি আপডেট হওয়া থেকে বিরত করুন , আপনি একটি সূত্র পিন করতে পারেন :
$ brew pin postgresql
পিনযুক্ত সূত্রগুলিতে তালিকাভুক্ত করা হয় /usr/local/Library/PinnedKegs/
এবং একবার আপনি সর্বশেষ পরিবর্তন এবং আপডেট আনতে চান, আপনি এটিকে আবার আনপিন করতে পারেন :
$ brew unpin postgresql
git checkout fa992 -- Library/Formula/postgresql.rb
। আপনার হয়ে গেলে, আপনি ব্যবহার করে সূত্রের পরিবর্তনগুলি পূর্বাবস্থায় ফিরিয়ে আনতে পারেন git revert HEAD Library/Formula/postgresql.rb && git checkout -- Library/Formula/postgresql.rb
।
brew update
এর গিট রেপো স্থাপন করতে হবে ।
cd $(brew --repository)/Library/Taps/homebrew/homebrew-core
, তারপরে আপনি git checkout 4cce79d -- Formula/go.rb
এবং ব্যবহার করতে পারেন HOMEBREW_NO_AUTO_UPDATE=1 brew install go
।
এখন যে হোমব্রু / সংস্করণগুলি হ্রাস করা হয়েছে, হোমব্রিউ / কোর একটি নতুন নামকরণ ফর্ম্যাট সহ সূত্রগুলির একাধিক সংস্করণ সমর্থন করে।
একটি নির্দিষ্ট সংস্করণ ইনস্টল করতে, উদাহরণস্বরূপ postgresql 9.5 আপনি কেবল চালান:
$ brew install postgresql@9.5
উপলভ্য সংস্করণগুলিকে তালিকাবদ্ধ করতে @ এর সাথে অনুসন্ধান চালান:
$ brew search postgresql@
==> Searching local taps...
postgresql@10.1 ✔ postgresql@9.4 postgresql@9.5 postgresql@9.6
fatal: Not a git repository (or any of the parent directories): .git
। আমি কেবল cd
পরিবর্তে ডিরেক্টরিতে প্রবেশ করি (ফরমুলানাম.আরবি ব্যতীত), তারপরেgit checkout 120938
cd /usr/local
।
brew unlink FORMULANAME
brew versions <formula>
আর সমর্থিত নয়।
brew link --force postgresql@9.5
। আপনার যদি ইতিমধ্যে একটি নতুন সংস্করণ ইনস্টল থাকে এবং পুরানো সংস্করণটি আপনার ডিফল্ট হতে চায় তবে আপনাকেও --overwrite
সেখানে একটি সংস্করণ প্রয়োজন ।
আপনি পূর্বে ইনস্টল করা কোনও সূত্রের পুরানো সংস্করণ ইনস্টল করার এখন আরও সহজ উপায়। সহজভাবে ব্যবহার
brew switch [formula] [version]
উদাহরণস্বরূপ, আমি নিয়মিত নোড.জেস 0.4.12 এবং 0.6.5 এর মধ্যে বিকল্প:
brew switch node 0.4.12
brew switch node 0.6.5
যেহেতু brew switch
সিমলিংকগুলি কেবল পরিবর্তন করে, এটি খুব দ্রুত। বহিরাগত কমান্ডের আওতায় হোমব্রিউ উইকে আরও ডকুমেন্টেশন দেখুন ।
আপডেট: 1/15/2015
brew install <url>
( brew unlink
প্রথম হতে পারে , যেমন brew unlink docker
)brew switch docker 1.3.3
brew switch docker 1.4.1
এই বক্তব্য থেকে
brew update
brew versions FORMULA
cd `brew --prefix`
git checkout HASH Library/Formula/FORMULA.rb # use output of "brew versions"
brew install FORMULA
brew switch FORMULA VERSION
git checkout -- Library/Formula/FORMULA.rb # reset formula
## Example: Using Subversion 1.6.17
#
# $ brew versions subversion
# 1.7.3 git checkout f8bf2f3 /usr/local/Library/Formula/subversion.rb
# 1.7.2 git checkout d89bf83 /usr/local/Library/Formula/subversion.rb
# 1.6.17 git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# 1.6.16 git checkout 83ed494 /usr/local/Library/Formula/subversion.rb
# 1.6.15 git checkout 809a18a /usr/local/Library/Formula/subversion.rb
# 1.6.13 git checkout 7871a99 /usr/local/Library/Formula/subversion.rb
# 1.6.12 git checkout c99b3ac /usr/local/Library/Formula/subversion.rb
# 1.6.6 git checkout 8774131 /usr/local/Library/Formula/subversion.rb
# 1.6.5 git checkout a82e823 /usr/local/Library/Formula/subversion.rb
# 1.6.3 git checkout 6b6d369 /usr/local/Library/Formula/subversion.rb
# $ cd `brew --prefix`
# $ git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# $ brew install subversion
# $ brew switch subversion 1.6.17
# $ git checkout -- Library/Formula/subversion.rb
brew install <url>
, brew unlink <formulaname>
। অন্যথায়, এটি সূত্রের একটি নির্দিষ্ট সংস্করণে স্যুইচ করার সহজতম এবং সংক্ষিপ্ত উপায় (এখনও অবধি)।
Raw
কোন ফাইলের বোতাম টিপুন ?!
brew log <formula>
@ হাফকিউব এর পরামর্শ মত লাইন বরাবর, এটি সত্যিই ভাল কাজ করে:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb
package@version
git log master -- Formula/PACKAGENAME.rb
প্রতিশ্রুতিবদ্ধ ইতিহাস পাওয়ার জন্য ব্যবহার করুন , সঠিক প্রতিশ্রুতিটি দেখুন, এবং তারপরে brew install Formula/PACKAGENAME.rb
এটি ইনস্টল করার জন্য চালান ।
brew unlink
আগে প্রয়োজন brew install
।
mxcl
?
brew install https://github.com/Homebrew/homebrew-core/raw/afc10f17af8023906b87363a8340aeb62284329f/Formula/postgresql%409.6.rb
তবে ত্রুটিটি পেয়েছি , সম্ভবত @
সাইন ইন করার কারণে : Error: No available formula with the name "postgresql%409.6" In formula file: /Users/maciek/Library/Caches/Homebrew/Formula/postgresql%409.6.rb Expected to find class Postgresql%4096, but only found: PostgresqlAT96.
কোনও ধারণা?
আমি এর পরে আরও জটিল সমাধানগুলি আরও ভাল বিকল্প আবিষ্কার করেছি।
brew install https://raw.github.com/Homebrew/homebrew-versions/master/postgresql8.rb
এটি PostgreSQL 8.4.8 ডাউনলোড এবং ইনস্টল করবে
রেপো অনুসন্ধানের পদক্ষেপ এবং রেপোতে একটি মন্তব্য অনুসরণ করে আমি এই সমাধানটি পেয়েছি ।
কিছুটা গবেষণার পরে দেখা গেল যে কারও কারও কাছে বিরল বিরল সূত্রের সংকলন রয়েছে।
যদি আপনি মাইএসকিউএল 5.1.x খুঁজছেন, এটি চেষ্টা করে দেখুন।
brew install https://raw.github.com/Homebrew/homebrew-versions/master/mysql51.rb
brew install https://github.com/Homebrew/homebrew-versions/blob/master/node06.rb
সিনট্যাক্স ত্রুটিগুলি ব্যর্থ বলে মনে হচ্ছে।
raw
ইউআরএল এ ভুলে যাবেন না
homebrew-versions
সর্বস্বান্ত হয় এবং সবকিছু উপর core
এখন, তাই সাধারণ ক্ষেত্রে দেখা যায়: brew install https://raw.github.com/Homebrew/homebrew-core/<COMMIT>/Formula/<FORMULA>.rb
। github.com/Homebrew/homebrew-core/commits/master/Formula/… এCOMMIT
গিয়ে খুঁজে পাওয়া যাবে ।
আপনি সূত্রটি সনাক্ত করার কৌশল এবং সূত্রের ইতিহাসে একটি বিশেষ প্রতিশ্রুতি ব্যবহার করতে পারেন যা আপনি যে প্যাকেজটি ইনস্টল করতে চান তার সংস্করণটির সাথে মেলে।
t
ফাইল সন্ধানকারীটিকে সক্রিয় করতে আপনার কীবোর্ডে টিপুন ।
এমন একটি সূত্র শনাক্ত করুন যা সম্ভবত প্রাসঙ্গিক বলে মনে হচ্ছে: Formula/mysql.rb
আপনাকে একটি ফোরামেলা ফাইলের স্থানে নিয়ে আসে: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb ।
Https://github.com/Homebrew/homebrew-core/commits/master/Formula/mysql.rbHistory
এ অবস্থিত বোতামটি ক্লিক করে সংশোধন ইতিহাসটি দেখুন । আপনি যদি মাইএসকিউএল ৫.7.১০ এ আগ্রহী হন তবে আপনি 5..7.১১ এর পূর্বে সর্বশেষ সংশোধনটি ক্লিক করতে চাইতে পারেন, যা একটি গিটহাবের প্রতিশ্রুতিতে নেভিগেট করে:
দ্রষ্টব্য: কমিটের ইতিহাসটি যদি আপনার ব্রাউজারে লোড না করে তবে আপনাকে গিটহাবের পরামর্শ অনুসারে আপনার কনসোলে কমিটের ইতিহাস দেখতে হবে। আপনি যদি গিটহাবের প্রতিশ্রুতি দেখতে আগ্রহী হন তবে উপরের প্রতিশ্রুতিবদ্ধ SHA প্রতিস্থাপন করুন URL- এ। বিকল্পভাবে, নীচে 7 ধাপে যান।
প্রতিশ্রুতি প্রয়োগের পরে mysql.rb ফাইলের উত্সটি দেখতে "দেখুন" বোতামটি ক্লিক করুন।
তারপরে কাঁচা উত্স দেখার জন্য "কাঁচা" বোতামটি ক্লিক করুন।
ইউআরএল অনুলিপি করুন। বিকল্পভাবে, mysql.rb
আপনার সূত্র এবং সেই সূত্রের বিশেষ সংস্করণ (নীচের ইউআরএলে কমিট এসএইচএ দ্বারা চিহ্নিত) এর জন্য ফাইলের নামের সাথে নিজেকে URL তৈরি করুন ।
এটি দিয়ে ইনস্টল করুন $ brew install [URL from step 7]
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/c77882756a832ac1d87e7396c114158e5619016c/Formula/mysql.rb
দ্রষ্টব্য: এই উত্তরটি braumeister.org ওয়েবসাইট সরানোর জন্য অ্যাকাউন্টে আপডেট করা হয়েছিল। একই নীতিটি প্রযোজ্য, সূত্র সংস্করণ নেভিগেট করার জন্য ব্রুমিস্টার সহজভাবে একটি প্রাথমিকভাবে বান্ধব উপায় সরবরাহ করেছিল।
অন্যান্য উত্তরগুলির বেশিরভাগ এখনই অচল হয়ে গেছে। দুর্ভাগ্যক্রমে হোমব্রিউতে এখনও পুরানো সংস্করণ ইনস্টল করার বিল্টিন পদ্ধতি নেই, যদি না সংস্করণটি পৃথক সূত্র হিসাবে উপস্থিত থাকে (যেমন python@2
, postgresql@9.4
…)।
ভাগ্যক্রমে, অন্যান্য সূত্রগুলির জন্য দুর্গন্ধযুক্ত জঞ্জালের চেয়ে অনেক সহজ উপায় ছিল যা প্রয়োজনীয় ছিল। এখানে সম্পূর্ণ নির্দেশাবলী:
লগগুলিতে সঠিক সংস্করণটি অনুসন্ধান করুন:
brew log formula
# Scroll down/up with j/k or the arrow keys
# or use eg. /4\.4\.23 to search a specific version
# This syntax only works on pre-2.0 Homebrew versions
brew log --format=format:%H\ %s -F --grep=‹version› ‹formula›
এটি কমিট হ্যাশগুলির একটি তালিকা প্রদর্শন করবে। উপযুক্ত একটি নিন (বেশিরভাগ ক্ষেত্রে এটি বেশ সুস্পষ্ট হওয়া উচিত, এবং সাধারণত সবচেয়ে সাম্প্রতিক (যেমন শীর্ষ) top
সূত্রটি আপস্ট্রিম ভাণ্ডারে থাকা URL টি সন্ধান করুন:
brew info ‹formula› | grep ^From:
ইউআরএল ঠিক করুন:
github.com
সঙ্গে প্রতিস্থাপনraw.githubusercontent.com
blob/master
প্রথম পদক্ষেপে আমরা যে প্রতিশ্রুতিবদ্ধ হ্যাশ পেয়েছি তা প্রতিস্থাপন করুন ।master
পূর্ববর্তী পাওয়া URL টি প্রতিশ্রুতিবদ্ধ হ্যাশ দ্বারা প্রতিস্থাপন করে কাঙ্ক্ষিত সংস্করণটি ইনস্টল করুন , যেমন:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/‹hash›/Formula/‹formula›.rb
(শেষ ধাপটি brew unlink ‹formula›
আগে চালনার প্রয়োজন হতে পারে ))
আপনি যদি প্রতিশ্রুতিবদ্ধ হ্যাশটি ব্যবহার করতে চান তা অনুলিপি করে থাকেন, তবে মানটি প্রতিস্থাপন করে এবং bash
প্রতিশ্রুতিবদ্ধ হ্যাশ এবং আপনার পছন্দসই সূত্রের সাহায্যে এই সংস্করণটি ইনস্টল করতে আপনি উদাহরণের মতো কিছু ব্যবহার করতে পারেন ।
BREW_VERSION_SHA=32353d2286f850fd965e0a48bcf692b83a6e9a41
BREW_FORMULA_NAME=bash
brew info $BREW_FORMULA_NAME \
| sed -n \
-e '/^From: /s///' \
-e 's/github.com/raw.githubusercontent.com/' \
-e 's%blob/%%' \
-e "s/master/$BREW_VERSION_SHA/p" \
| xargs brew install
এই উদাহরণটি ব্যাশ 5 এর পরিবর্তে ব্যাশ ইনস্টল করছে 4.4.23, যদিও আপনি যদি brew upgrade
পরে সম্পাদন করেন তবে ব্যাশ 5 শীর্ষে ইনস্টল হয়ে যাবে, যদি না আপনি প্রথম সম্পাদন করেন brew pin bash
। পিনিং ছাড়া এই মসৃণ করার পরিবর্তে আপনার প্রথমে সর্বশেষতমটি ইনস্টল করা উচিত brew install bash
, তারপরে brew unlink bash
উপরের স্ক্রিপ্ট অনুসারে আপনি যে পুরানো সংস্করণটি চান তা ইনস্টল করুন এবং তারপরে brew switch bash 4.4.23
পুরানো সংস্করণে সিমলিংকগুলি সেট আপ করতে ব্যবহার করুন । এখন brew upgrade
আপনার বাশের সংস্করণটিকে প্রভাবিত করা উচিত নয়। আপনি brew switch bash
স্যুইচ করার জন্য উপলব্ধ সংস্করণগুলির একটি তালিকা পেতে পারেন ।
একই লক্ষ্য অর্জনের আর একটি উপায় হ'ল:
brew tap-new username/repo-name
# extract with a version seems to run a grep under the hood
brew extract --version='4.4.23' bash username/repo-name
brew install bash@4.4.23
# Note this "fails" when trying to grab a bottle for the package and seems to have
# some odd doubling of the version in that output, but this isn't fatal.
এটি formula@version
আপনার কাস্টম ট্যাপটিতে একটি তৈরি করে যা আপনি উপরের উদাহরণ অনুসারে ইনস্টল করতে পারেন। Downside হয় যে আপনি সম্ভবত এখনও প্রয়োজন brew unlink bash
এবং তারপর brew link bash@4.4.23
অর্ডার ব্যাশ বা অন্য কোন সূত্রের আপনার নির্দিষ্ট সংস্করণ ব্যবহার হবে।
brew log
যাতে কোনও অতিরিক্ত -F
বা --grep
বিকল্পগুলি আমার জন্য ব্যর্থ হয়েছিল।
brew log
। আমি এখনই নতুন সংস্করণ লিখতে বিরক্ত হচ্ছি না কারণ এর জন্য গিট লগ বার্তাটি সঠিকভাবে পার্স করা প্রয়োজন, বা বিকল্পভাবে git log
সরাসরি সম্পর্কিত সংগ্রহস্থলে চলমান । এবং চেঞ্জলগ এমনকি এই ব্রেকিং পরিবর্তনের উল্লেখ করেছে বলে মনে হয় না। বিরক্তির বাইরেও।
External Command
কাঠামোর মধ্যে কাজ করার দরকার হতে পারে । docs.brew.sh/brew
git log
brew extract
, ধন্যবাদ!
সহজ brew install maven
ইনস্টল করা মাভেন 3.0.০.৩ থেকে আমি কেবল ম্যাভেন ২.২.১ এ ফিরে যেতে হোমব্রিউ ব্যবহার করেছি ।
প্রথমে আপনাকে সেখানে মাভেন দির ছেড়ে যেতে হবে
w ব্রিউ আনলিঙ্ক ম্যাভেন
ব্রিউ ট্যাপ কমান্ডটি ব্যবহার করুন
$ ব্রিউ ট্যাপ হোমব্রিউ / সংস্করণ '/ Usr / স্থানীয় / গ্রন্থাগার / ট্যাপস / homebrew- সংস্করণ' এ ক্লোনিং করা হচ্ছে ... দূরবর্তী: গণনা অবজেক্টস: 590, সম্পন্ন। রিমোট: কম্প্রেসিং অবজেক্টস: 100% (265/265) হয়ে গেছে। রিমোট: মোট 590 (ডেল্টা 362), পুনরায় ব্যবহৃত 549 (ব-দ্বীপ 325) প্রাপ্ত সামগ্রী: 100% (590/590), 117.49 কিবি | 79 কিবি / গুলি, সম্পন্ন হয়েছে। ডেল্টাস সমাধান: 100% (362/362), সম্পন্ন। 50 টি সূত্র টেপ করেছেন
এখন আপনি maven2 সূত্রটি ইনস্টল করতে পারেন:
$ মেশান মেশিন 2 ইনস্টল করুন ==> ডাউনলোড করা হচ্ছে http://www.apache.org/dist/maven/maven-2/2.2.1/binaries/apache-maven-2.2.1-bin.tar.gz ################################################## ######################### 100.0% /usr/local/Cellar/maven2/2.2.1: 10 ফাইল, 3.1M, 6 সেকেন্ডে নির্মিত
v এমভিএন - রূপান্তর অ্যাপাচি মাভেন 2.2.1 (r801777; 2009-08-06 12: 16: 01-0700) জাভা সংস্করণ: 1.6.0_37 জাভা হোম: / সিস্টেম / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / 1.6.0.jdk/ সামগ্রী / হোম ডিফল্ট লোকেল: en_US, প্ল্যাটফর্ম এনকোডিং: ম্যাকরোমন ওএসের নাম: "ম্যাক ওএস এক্স" সংস্করণ: "10.7.4" খিলান: "x86_64" পরিবার: "ম্যাক"
সম্পাদনা করুন:
আপনি কেবল brew switch maven 2.2.1
একটি ভিন্ন সংস্করণে স্যুইচ করতে পারেন।
সম্পাদনা করুন: অ্যাপাচি মাভেন প্রকল্পটি তাদের রেপো পুনর্গঠন করেছে। এই পরিবর্তনের জন্য অ্যাকাউন্টে এই উত্তর আপডেট করুন।
@Tschundeee এবং @ দেবিলস্কির আপডেট 1 দ্বারা বর্ণিত কর্মপ্রবাহের ভিত্তিতে , আমি প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে তৈরি করেছি এবং এই স্ক্রিপ্টটিতে পরিষ্কার-পরিচ্ছন্নতা যুক্ত করেছি ।
এটি ডাউনলোড করুন , আপনার পথে রাখুন এবং brewv <formula_name> <wanted_version>
। নির্দিষ্ট ওপি'র জন্য এটি হবে:
cd path/to/downloaded/script/
./brewv postgresql 8.4.4
:)
তার পর থেকে একটি আপডেট হওয়া উত্তর @ ল্যান্স-পোলার্ড ইতিমধ্যে কার্যত উত্তর হিসাবে পোস্ট করেছে তাতে কী যুক্ত হয়।
একটি সূত্রের নির্দিষ্ট সংস্করণটি কীভাবে ইনস্টল করবেন (এই উদাহরণে ব্যবহৃত সূত্রটি terraform
):
git log master -- Formula/terraform.rb
যদি আপনি স্থানীয়ভাবে রেপো ক্লোন করেছেন havebrew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
দুর্ভাগ্যক্রমে হোমব্রিউতে এখনও পুরানো সংস্করণ ইনস্টল করার সুস্পষ্ট অন্তর্নির্মিত উপায় নেই।
ভাগ্যক্রমে, বেশিরভাগ সূত্রের জন্য দুর্গন্ধযুক্ত জঞ্জালের চেয়ে অনেক সহজ উপায় ছিল যা প্রয়োজনীয় ছিল। bash
উদাহরণ হিসাবে ব্যবহারের জন্য এখানে পূর্ণ নির্দেশাবলী রয়েছে :
brew tap-new $USER/local-tap
# extract with a version seems to run a `git log --grep` under the hood
brew extract --version=4.4.23 bash $USER/local-tap
# Install your new version from the tap
brew install bash@4.4.23
# Note this "fails" trying to grab a bottle for the package and seems to have
# some odd doubling of the version in that output, but this isn't fatal.
এটি formula@version
আপনার কাস্টম ট্যাপটিকে তৈরি করে যা আপনি উপরের উদাহরণ অনুসারে ইনস্টল করতে পারেন। একটি গুরুত্বপূর্ণ নোটটি হ'ল আপনার যদি সম্ভবত brew unlink bash
সূত্রের ডিফল্ট / সর্বশেষ সংস্করণটি ইনস্টল করে রেখেছিলেন এবং তারপরে brew link bash@4.4.23
আপনার বাশের নির্দিষ্ট সংস্করণটি ব্যবহার করতে (বা অন্য কোনও সূত্র যেখানে আপনার সর্বশেষতম এবং পুরাতন সংস্করণ ইনস্টল রয়েছে) ব্যবহার করতে পারেন।
এই পদ্ধতির সম্ভাব্য খারাপ দিক হ'ল আপনি সহজেই সংস্করণগুলির মধ্যে পিছনে পিছনে স্যুইচ করতে পারবেন না কারণ brew
এটি একটি "ভিন্ন সূত্র"।
আপনি যদি ব্যবহার brew switch $FORMULA $VERSION
করতে সক্ষম হন তবে আপনার পরবর্তী পদ্ধতিটি ব্যবহার করা উচিত।
এই উদাহরণটি পুরানো বাশ 4.4.23 ইনস্টল করা দেখায়, bash
সূত্র বর্তমানে ব্যাশ 5 ইনস্টল করার পরে এটি একটি দরকারী উদাহরণ ।
brew install bash
brew unlink bash
brew switch bash 4.4.23
আপনার সংস্করণে প্রতীকগুলি সেট আপ করতে ব্যবহার করুনআপনি যদি brew upgrade
সর্বশেষতম ইনস্টল না করে কোনও পুরানো সংস্করণ ইনস্টল করার পরে সঞ্চালন করেন তবে সর্বশেষতমটি আপনার পুরানো সংস্করণটিকে ক্লাববারিং ইনস্টল করে তুলবে, যদি না আপনি প্রথম সম্পাদন করেন brew pin bash
।
পদক্ষেপগুলি এভয়েড পিন করছে কারণ এটি ভুলে যাওয়া সহজ এবং আপনি এমন সংস্করণে পিন করতে পারেন যা ভবিষ্যতে নিরাপত্তাহীন হয়ে পড়ে (শেলসক / ইত্যাদি দেখুন)। এই সেটআপটি দিয়ে brew upgrade
আপনার বাশের সংস্করণকে প্রভাবিত করা উচিত নয় এবং আপনি সর্বদা brew switch bash
স্যুইচ করার জন্য উপলব্ধ সংস্করণগুলির তালিকা পেতে চালাতে পারেন।
export
আপনার পছন্দসই সংস্করণ এবং সূত্রের নামটি আপডেট করার জন্য নীচের কোড স্নিপেট থেকে রেখাগুলি অনুলিপি করুন এবং সম্পাদনা করুন , তারপরে বাকীটি অনুলিপি করুন এবং আটকান এবং যাদুটি করতে সেই পরিবর্তনগুলি ব্যবহার করবে।
# This search syntax works with newer Homebrew
export BREW_FORMULA_SEARCH_VERSION=4.4.23 BREW_FORMULA_NAME=bash
# This will print any/all commits that match the version and formula name
git -C $(brew --repo homebrew/core) log \
--format=format:%H\ %s -F --all-match \
--grep=$BREW_FORMULA_SEARCH_VERSION --grep=$BREW_FORMULA_NAME
আপনি যখন নিশ্চিত হন যে সূত্রটিতে সংস্করণটি বিদ্যমান রয়েছে, আপনি নীচে ব্যবহার করতে পারেন:
# Gets only the latest Git commit SHA for the script further down
export BREW_FORMULA_VERSION_SHA=$(git -C $(brew --repo homebrew/core) log \
--format=format:%H\ %s -F --all-match \
--grep=$BREW_FORMULA_SEARCH_VERSION --grep=$BREW_FORMULA_NAME | \
head -1 | awk '{print $1}')
আপনি যে প্রতিশ্রুতিবদ্ধ হ্যাশটি ব্যবহার করতে চান তা রফতানি করার পরে, আপনি প্যাকেজের সেই সংস্করণটি ইনস্টল করতে এটি ব্যবহার করতে পারেন।
brew info $BREW_FORMULA_NAME \
| sed -n \
-e '/^From: /s///' \
-e 's/github.com/raw.githubusercontent.com/' \
-e 's%blob/%%' \
-e "s/master/$BREW_FORMULA_VERSION_SHA/p" \
| xargs brew install
সূত্র আউটপুটে আপনার PATH এ রাখার জন্য নির্দেশগুলি অনুসরণ করুন বা এটি আপনার ডিফল্ট শেল হিসাবে সেট করুন।
হোমব্রিউয়ের সর্বশেষতম সংস্করণে (এই লিখন অনুসারে 0.9.5) আপনি ইনস্টল করতে চাইছেন হোমব্রিউ কেগের সংস্করণটির জন্য একটি নির্দিষ্ট রেসিপি থাকবে। উদাহরণ:
$ brew search mongodb
mongodb mongodb24 mongodb26
তারপরে ঠিক brew install mongodb26
স্বাভাবিকের মতো করুন।
কেস আপনি ইতিমধ্যে সর্বশেষ সংস্করণ ইনস্টল করেছিলেন যে মধ্যে অবস্থিত, পছন্দের সংস্করণ লিঙ্ক সর্বশেষ সংস্করণ লিঙ্কমুক্ত করার নিশ্চিত করুন এবং: brew unlink mongodb && brew link mongodb26
।
আমার অবস্থা: postgresql
দুর্ঘটনাক্রমে 11 থেকে 12 এ আপগ্রেড করা হয়েছিল। আমি 11 রাখতে চাই।
brew services stop postgresql
brew install postgresql@11
brew link postgresql@11 --force
postgres
করতে postgres@11
:cd /usr/local/var
ls -lh
mv postgresql@11 postgresql@11-fresh-backup
mv postgres postgresql@11
brew services start postgresql@11
আপনার কোনও ত্রুটি থাকলে, পরীক্ষা করুন /usr/local/var/log/postgresql@11.log
(@ 11 দেখুন)
brew postgresql-upgrade-database
) সাহায্যের জন্য হোমব্রিউ রক্ষণাবেক্ষণকারীদের দ্বারা স্পষ্টভাবে রাখা হয় । এই উত্তরটি প্রায় কোনও অন্য সূত্রের জন্য কার্যকর নয়।
brew postgresql-upgrade-database
ভাল, আপগ্রেড জন্য । আমার উত্তরটি পুরানো পোস্টগ্রাস সংস্করণ ব্যবহার সম্পর্কে । কেবল বাইনারিগুলি স্যুইচ করা কার্যকর হবে না।
nvm
, এফওয়াইআই আমি পুরানো এলটিএস রিলিজের জন্য এই কৌশলটি ব্যবহার করে ভাগ্য পেয়েছি। লেখা V10 & V12 সময় অন্তত পাওয়া যায়, যেমন হওয়া উচিত brew install node@12
formulae.brew.sh/formula/node
সমস্যাটি homebrew/versions
হ'ল কারও কাছে আপনার ব্যবহার করতে সক্ষম হওয়ার জন্য रिपোরিটরিতে তালিকাভুক্ত সফ্টওয়্যারটির নির্দিষ্ট সংস্করণ থাকতে হবে। এছাড়াও, যেহেতু brew versions
আর সমর্থিত নয়, তাই আরও একটি সমাধান প্রয়োজন। যে সমাধানগুলি ব্যবহার করে তা নির্দেশ করে brew switch
, আপনি যদি এটি না করে থাকেন তবে এটি কেবল কাজ করবেbrew cleanup
আপনার কম্পিউটারে সংস্করণটি থাকা দরকার বলে ।
docker-machine
তালিকাভুক্ত নয় এমন একটি নির্দিষ্ট পুরানো সংস্করণ ইনস্টল করতে চাইলে আমার সমস্যা ছিল homebrew/versions
। আমি এটি নীচে ব্যবহার করে সমাধান করেছি, যা কোনও ব্রিউ ইনস্টলড সফ্টওয়্যার এর জন্যও কাজ করা উচিত। নীচের উদাহরণটি docker-machine
প্যাকেজ হিসাবে ব্যবহার করবে যা আমি 0.5.0 থেকে 0.4.1 সংস্করণে ডাউনগ্রেড করতে চাই।
আপনার হোমব্রু Formula
ডিরেক্টরিতে যান ।
আপনি এটি চালিয়ে নির্ধারণ করতে পারেন brew info [any package name]
। উদাহরণস্বরূপ, brew info docker-machine
আমাকে একটি লাইন দেয় যা আমাকে একটি পথ দেখায় - /usr/local/Cellar/docker-machine/0.5.0
। এটি আমাকে বলে যে আমার মেশিনে হোমব্রিউ ইনস্টল করা আছে /usr/local
এবং আমার Formula
ডিরেক্টরিটি ডিফল্টরূপে অবস্থিত/usr/local/Library/Formula
আপনার প্যাকেজের জন্য নির্দিষ্ট সূত্র ফাইল (.rb) সন্ধান করুন।
যেহেতু আমি ডাউনগ্রেড করতে চাই তাই আমি docker-machine
একটি docker-machine.rb
ফাইল দেখতে পারি ।
এই সূত্র ফাইলটির সংস্করণ ইতিহাস পান । প্রবেশ করুন git log docker-machine.rb
। এটি এই ফাইলটির জন্য সম্পূর্ণ প্রতিশ্রুতিবদ্ধ ইতিহাসের তালিকা প্রদর্শন করবে। আপনি এটির মতো আউটপুট দেখতে পাবেন:
... আরও 20c7abc13d2edd67c8c1d30c407bd5e31229cacc কমিট করুন লেখক: ব্রউবেস্টবট তারিখ: থু নভেম্বর 5 16:14:18 2015 +0000 ডকার-মেশিন: 0.5.0 বোতল আপডেট করুন। প্রতিশ্রুতিবদ্ধ 8f615708184884e501bf5c16482c95eff6aea637 লেখক: ভিনসেন্ট লেসিয়ার্সি তারিখ: মঙ্গলবার 27 অক্টোবর 22:25:30 2015 +0100 ডকার-মেশিন 0.5.0 ডকার-মেশিনটি ০.০.০ এ আপডেট করা হয়েছে # 45403 বন্ধ হয়। সাইন-অফ-বাই: ডোমিনিক টিলার কমিট করুন 5970e1af9b13dcbeffd281ae57c9ab90316ba423 লেখক: ব্রউবেস্টবট তারিখ: সোম 21 সেপ্টেম্বর 14:04:04 2015 +0100 ডকার-মেশিন: 0.4.1 বোতল আপডেট করুন। কমিট 18fcbd36d22fa0c19406d699308fafb44e4c8dcd লেখক: ব্রউবেস্টবট তারিখ: রবিবার আগস্ট 16 09:05:56 2015 +0100 ডকার-মেশিন: 0.4.1 বোতল আপডেট করুন। ... আরও
কৌতুকপূর্ণ অংশটি হ'ল আপনি যে নির্দিষ্ট সংস্করণটি চান তার সর্বশেষ প্রতিশ্রুতি সন্ধান করা। উপরে, আমি বলতে পারেন সর্বশেষ 0.4.1 সংস্করণ এই সঙ্গে প্রতিশ্রুতিবদ্ধ ছিল ট্যাগ সমর্পণ commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423
। এই বিন্দুটির উপরের কমিটগুলি সংস্করণ 0.5.0 ব্যবহার করা শুরু করে (গিট লগ এন্ট্রি সর্বশেষ থেকে প্রথম তারিখের তালিকাভুক্ত)।
সূত্র ফাইলটির পূর্ববর্তী সংস্করণ পান। পদক্ষেপ # 3 থেকে কমিট ট্যাগ ব্যবহার করে (আপনি প্রথম 6 টি অক্ষর ব্যবহার করতে পারেন), আপনি নিম্নলিখিতটি ব্যবহার করে সূত্র ফাইলটির একটি পুরানো সংস্করণ পেতে পারেন:
git checkout 5970e1 docker-machine.rb
আপনার বর্তমান প্যাকেজ সংস্করণ আনইনস্টল করুন।
আপনার প্যাকেজের বর্তমান সংস্করণটি আনইনস্টল করার জন্য কেবল সাধারণ ব্রিউ কমান্ডগুলি চালান।
যাত্রা।brew uninstall docker-machine
পুরানো প্যাকেজ সংস্করণটি ইনস্টল করুন
এখন, আপনি কেবল সাধারণ ব্রিউ ইনস্টল কমান্ডটি চালাতে পারেন এবং এটি সূত্রটি ইনস্টল করবে যা আপনার চেকআউট করেছে। যাত্রা।brew install docker-machine
প্রয়োজনে আপনাকে পুনরায় লিঙ্ক করার প্রয়োজন হতে পারে brew link docker-machine
।
যদি আপনি কোনও নির্দিষ্ট প্যাকেজের সর্বশেষ সংস্করণে ফিরে যেতে চান তবে সূত্র ডিরেক্টরিতে যান এবং আপনার সূত্র ফাইলে নিম্নলিখিত কমান্ডগুলি সরবরাহ করুন (.rb)
git reset HEAD docker-machine.rb
git checkout -- docker-machine.rb
তাহলে আপনি brew uninstall docker-machine
এবং করতে পারেনbrew install docker-machine
সর্বশেষতম সংস্করণটি পেতে এবং সেভাবে এগিয়ে যেতে পারেন।
git log --grep 0.4.1 docker-machine.rb
।
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
cairo
ব্রিউয়ের জন্য সংস্করণ ইতিহাসের পর্যাপ্ত পরিমাণ খুঁজে পাইনি । @ সিলোকালের উত্তর আরও কিছু কারণ দেখিয়েছে।
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
অথবা
git clone git@github.com:Homebrew/homebrew-core.git
git log master -- Formula/flyway.rb
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/793abfa325531415184e1549836c982b39e89299/Formula/flyway.rb
brew install Formula/flyway.rb
থেকে চালানো হয় না homebrew-core
? এটি raw.github..
ঠিকানা ব্যবহার না করেই আমার পক্ষে কাজ করেছে
মদ তৈরির শেষ সংস্করণটির জন্য এটি খুব সহজভাবে করা যেতে পারে।
brew tap homebrew/versions
brew install subversion17 # for svn 1.7 branch instead of last available
brew install postgresql8 # for postgresql 8 (which you ask)
এগুলির কিছুই সত্যই আমার কেস (পাইথন) এর জন্য কাজ করেনি, সুতরাং আমি আমার 2 সেন্ট যুক্ত করব:
cd `brew --prefix`
git log Library/Formula/python.rb
আউটপুট এর মতো দেখাচ্ছে:
commit 9ff2d8ca791ed1bd149fb8be063db0ed6a67a6de Author: Dominyk Tiller <dominyktiller@gmail.com> Date: Thu Jun 30 17:42:18 2016 +0100 python: clarify pour_bottle reason commit cb3b29b824a264895434214e191d0d7ef4d51c85 Author: BrewTestBot <brew-test-bot@googlegroups.com> Date: Wed Jun 29 14:18:40 2016 +0100 python: update 2.7.12 bottle. commit 45bb1e220341894bbb7de6fd3f6df20987dc14f0 Author: Rakesh <rakkesh@users.noreply.github.com> Date: Wed Jun 29 10:02:26 2016 +0530 python 2.7.12 Closes #2452. Signed-off-by: Tim D. Smith <git@tim-smith.us> commit cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9 Author: BrewTestBot <brew-test-bot@googlegroups.com> Date: Fri Jun 17 20:14:36 2016 +0100 python: update 2.7.11 bottle. ...
আমি সংস্করণ চাই 2.7.11
তাই আমার হ্যাশটি cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9
(বা cf5da05
সংক্ষেপে)। এরপরে, আমি সেই সংস্করণটি যাচাই করি এবং সূত্রটি ইনস্টল করি python
:
git checkout cf5da05
brew install python
শেষ পর্যন্ত, পরিষ্কার করুন:
git checkout master
HOMEBREW_NO_AUTO_UPDATE
পড়বেন না
cd
হ'ল ব্রিউ/Homebrew
git log Library/Taps/homebrew/homebrew-core/Formula/python.rb
/Library/Taps
উপেক্ষা করা হয়।
HOMEBREW_NO_AUTO_UPDATE
। হ্যাঁ, আপনার প্রয়োজনীয় জিনিস আবিষ্কার করার পরেও আপনার প্রয়োজনীয় জিনিসটি ভুলে যাবেন না । এক্সডি
HOMEBREW_NO_INSTALL_CLEANUP
এটি কি আপনার মনে রাখা দরকার?
আপনি যদি নিজের সংস্করণটি খুঁজে না পান তবে আপনি brew search <formula>
যে সংস্করণটি চান তা সন্ধান করার জন্য আপনার সূত্রটির জন্য প্রতিশ্রুতিবদ্ধ লগগুলি ব্যবহার করার চেষ্টা করতে পারেন:
ব্রিউয়ের মাধ্যমে এনজিনেক্সের একটি পুরানো সংস্করণ ইনস্টল করার জন্য এখানে একটি উদাহরণ রয়েছে:
দেখা nginx: update 1.6.3 bottle eba75b9a1a474b9fc4df30bd0a32637fa31ec049
সেখান থেকে, আমরা 1.6.3
শ এবং কাঁচা গিট ইউআরএল দিয়ে ইনস্টল করতে পারি :
brew install https://raw.githubusercontent.com/Homebrew/homebrew/eba75b9a1a474b9fc4df30bd0a32637fa31ec049/Library/Formula/nginx.rb
বর্তমানে নির্দিষ্ট সূত্র সংস্করণ ইনস্টল করার পুরানো উপায়গুলি হ্রাস করা হয়েছে। সুতরাং এটি আমাদের ব্যবহার করতে হবে বলে মনে হচ্ছে brew edit [formula]
। যেমন, আমরা একটি 62.1
সংস্করণ ইনস্টল করতে চাই icu4c
(যেমন উদাহরণস্বরূপ postgresql 10.5
)। তারপর আপনি করতে হবে
> brew edit icu4c
# drops you to editor
এখানে আপনি পরিবর্তন করতে চাই url
, version
এবং sha256
(সম্ভবত এছাড়াও mirror
সংশ্লিষ্ট করার জন্য) 62.1
স্ট্রিং।
url "https://ssl.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz"
mirror "https://github.com/unicode-org/icu/releases/download/release-62-1/icu4c-62_1-src.tgz"
version "62.1"
sha256 "3dd9868d666350dda66a6e305eecde9d479fb70b30d5b55d78a1deffb97d5aa3"
তারপরে brew reinstall icu4c
অবশেষে 62.1
সংস্করণটি ডাউনলোড করতে চালান ।
sha256
? আমার ক্ষেত্রেhttps://storage.googleapis.com/dart-archive/channels/stable/release/1.24.3/sdk/dartsdk-macos-x64-release.zip
8 থেকে লাইব্রেরি / সূত্র / postgresql.rb লাইনে আপডেট করুন
http://ftp2.uk.postgresql.org/sites/ftp.postgresql.org/source/v8.4.6/postgresql-8.4.6.tar.bz2
এবং এমডি 5 লাইন 9 থেকে
fcc3daaf2292fa6bf1185ec45e512db6
সংরক্ষণ এবং ত্যাগ.
brew install postgres
initdb /usr/local/var/postgres
এখন এই পর্যায়ে আপনি postgresql could not create shared memory segment
ত্রুটির মুখোমুখি হতে /etc/sysctl.conf
পারেন , এটির মতো আপডেটের সাথে কাজ করার জন্য :
kern.sysv.shmall=65536
kern.sysv.shmmax=16777216
initdb /usr/local/var/postgres
আবার চেষ্টা করুন , এবং এটি মসৃণভাবে চালানো উচিত।
শুরুতে পোস্টগ্রেস্কল চালাতে
launchctl load -w /usr/local/Cellar/postgresql/8.4.6/org.postgresql.postgres.plist
আশা করি এইটি কাজ করবে :)
আমি কেবল ইলাস্টিকের অনুসন্ধানের একটি পুরানো প্রকাশকে /usr/local/Cellar/elasticsearch
ডিরেক্টরিতে অনুলিপি করেছি ।
$ mkdir /usr/local/Cellar/elasticsearch/5.4.3/bin
$ cp elasticsearch /usr/local/Cellar/elasticsearch/5.4.3/bin
$ brew switch elasticsearch 5.4.3
এটাই. এটি কারও পক্ষে উপকারী useful
আমি সিদ্ধান্ত নিয়েছি, আমার আরও ভাল বিচারের বিরুদ্ধে, ম্যাভেন ৩.১.১-এর জন্য একটি সূত্র তৈরি করার জন্য, যা homebrew/versions
ছিল না। এটা করতে:
homebrew/versions
GitHub উপর।$(brew --prefix)/Library/Taps
আমার কাঁটাচামচের স্থানীয় কাজের অনুলিপি থেকে সিমলিংক করেছি। আমি এই ফোন করব my-homebrew/versions
।my-homebrew/versions/<formula>
।homebrew/versions
আমার নতুন সূত্রের জন্য একটি টান অনুরোধ পাঠিয়েছি ।হ্যাঁ.
বর্তমানে ডিফল্ট ব্রিউ সূত্রে নেই এমন সংস্করণগুলির জন্য, আপনি https://github.com/buildtools-version-taps/homebrew-versions-tap-tool থেকে খুব সহজেই সরঞ্জামটি দিয়ে নিজের ট্যাপটি তৈরি করতে পারেন
brew tap-new user/repo
এবং তারপর brew extract --version='Major.minor' FORMULA user/repo
এবং তারপর করতে পারেন brew install FORMULA@Major.minor
।
এই উত্তরে নির্ধারিত প্রক্রিয়াটি সহজ করার জন্য আমি একটি সরঞ্জাম তৈরি করেছি ।
pkg
সংস্করণ সহ একটি প্যাকেজ সন্ধান করতে a.b.c
, চালান:
$ brew-install-specific pkg@a.b.c
এটি pkg
হোমগ্রাব সূত্রে কমিটগুলি তালিকাবদ্ধ করবে যা তাদের গিটহাব ইউআরএল সহ প্রদত্ত সংস্করণটি উল্লেখ করবে।
Matching versions:
1. pkg: update a.b.c bottle.
https://github.com/Homebrew/homebrew-core/commit/<COMMIT-SHA>
2. pkg: release a.b.c-beta
https://github.com/Homebrew/homebrew-core/commit/<COMMIT-SHA>
3. pkg a.b.c
https://github.com/Homebrew/homebrew-core/commit/<COMMIT-SHA>
Select index:
প্রদত্ত ইউআরএল থেকে প্রতিশ্রুতিটি যাচাই করুন এবং নির্বাচিত প্রতিশ্রুতিটির সূচি লিখুন।
Select index: 2
Run:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/<COMMIT-SHA>/Formula/pkg.rb
ইনস্টল করার জন্য প্রদত্ত আদেশটি অনুলিপি করুন এবং চালান।
postgresql
একটি অদ্ভুত একটি কারণ এটির একসময় হোমব্রিউতে পৃথক সংস্করণ ছিলbash
, একই সূত্রের নামের মধ্যে এটি 4.x থেকে 5.x পর্যন্ত চলে যাওয়ার পরে এর থেকে ভাল উদাহরণ হতে পারে। দেখুন stackoverflow.com/a/55764594/3794873