installation - البيرة تثبيت نسخة محددة من الصيغة؟




versioning homebrew (17)

كيف أقوم بتثبيت إصدار محدد من صيغة في البيرة؟ على سبيل المثال ، postgresql-8.4.4 بدلاً من أحدث 9.0.


Answers

لقد قمت للتو بنسخ أقدم من elasticsearch في دليل /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

هذا هو. ربما من المفيد لأي شخص.


يمكن أن يكون من السهل جدا على الإصدار الأخير من الشراب.

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)

سير العمل البسيط

الآن بعد أن تم إهمال Homebrew / الإصدارات ، يدعم Homebrew / core إصدارات متعددة من الصيغ بتنسيق تسمية جديد.

لتثبيت إصدار معين ، على سبيل المثال postgresql 9.5 ، ما عليك سوى تشغيل:

$ brew install [email protected]

لإدراج الإصدارات المتاحة ، قم بإجراء بحث باستخدام @:

$ brew search [email protected]
==> Searching local taps...
[email protected][email protected]        [email protected]        [email protected]

تحديث: 1/15/2015

  • ابحث عن سجل الالتزام للبرنامج والإصدار المطلوب. على سبيل المثال ، أنا بحاجة للتبديل من الإصدار 1.4.1 إلى الإصدار 1.31: https://github.com/Homebrew/homebrew-core/commits/master/Formula/docker.rb
  • عرض الملف مع هذا الزر:
  • انقر فوق الزر Raw:
  • انسخ URL (docker.rb url في هذا المثال) من شريط العناوين
  • brew install <url>
  • brew switch docker 1.3.3
  • العودة إلى عامل ميناء 1.4.1 brew switch docker 1.4.1

من هذه gist

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 https://raw.github.com/Homebrew/homebrew-versions/master/postgresql8.rb

سيقوم هذا بتنزيل وتثبيت PostgreSQL 8.4.8

لقد وجدت هذا الحل من خلال البدء في اتباع خطوات البحث في الريبو comment في الريبو.

بعد قليل من البحث وجدت أن شخص ما لديه مجموعة من الصيغ النادرة لتكوينها.

إذا كنت تبحث عن MySQL 5.1.x ، فتجرب هذه المحاولة.

brew install https://raw.github.com/Homebrew/homebrew-versions/master/mysql51.rb

( لقد قمت بإعادة تحرير جوابي لتقديم سير عمل أكثر شمولاً لتثبيت / استخدام إصدارات البرامج القديمة مع خدمة homebrew. لا تتردد في إضافة ملاحظة إذا وجدت أن الإصدار القديم أفضل. )

لنبدأ بأبسط الحالات:

1) تحقق ، سواء كان الإصدار مثبتًا بالفعل (ولكن لم يتم تنشيطه)

عندما يثبت homebrew صيغة جديدة ، فإنه يضعها في دليل إصدار مثل /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 مفيد في الغالب عندما يريد المرء التبديل بين نسختين ليسا متباعدتين.

2) تحقق ، ما إذا كان الإصدار متاحًا كنقرة

خاصة بالنسبة لمشاريع البرامج الكبيرة ، من المحتمل أن يكون هناك طلب مرتفع بما يكفي لعدة إصدارات رئيسية (قد تكون غير متوافقة مع واجهة برمجة التطبيقات) لجزء معين من البرامج. اعتبارًا من مارس 2012 ، يوفر برنامج Homebrew 0.9 آلية لهذا: brew tap الصغير ومستودع الإصدارات المنزلية.

قد يتضمن مستودع الإصدارات هذا backports الإصدارات الأقدم للعديد من الصيغ. (في الغالب فقط الكبيرة منها والمشهورة ، ولكن بالطبع سيكون لديهم أيضا العديد من الصيغ ل postgresql.)

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
# …

لاحظ أن هذا قد قام تلقائيًا بالنقر فوق tap. (تحقق مع brew tap ، وإزالة مع brew untap homebrew/versions .) ما يلي قد يكون معادلا:

$ brew tap homebrew/versions
$ brew install postgresql8

وطالما ظلت صيغ الإصدار المعدلة حديثة ، فقد يكون هذا الأسلوب هو أفضل طريقة للتعامل مع البرامج القديمة.

3) جرب بعض المعادلات من الماضي

يتم سرد الأساليب التالية في الغالب للتأكد من اكتمالها. كلاهما يحاول إحياء بعض صيغة أوندد من مستودع الشراب. نظرًا للتغييرات المتغيرة ، أو تغييرات واجهة برمجة التطبيقات في مواصفات الصيغة أو مجرد تغيير في عنوان URL للتنزيل ، فقد لا تعمل الأشياء أو لا تعمل.

بما أن دليل الصيغة بأكمله هو مستودع git ، فيمكن للمرء تثبيت إصدارات محددة باستخدام أوامر git بسيطة. ومع ذلك ، نحن بحاجة إلى إيجاد طريقة للوصول إلى التزام حيث يتوفر الإصدار القديم.

أ) الأوقات التاريخية

بين أغسطس / آب 2011 وأكتوبر / تشرين الأول 2014 ، كان لدى مشروبات البيرة المحلية أمر 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

كما ترون ، ينصح بعدم استخدامه. يبصق البيرة كل الإصدارات التي يمكن أن تجدها مع الكشف عن مجرياتها الداخلية ويظهر لك طريقة لاستعادة الصيغ القديمة. دعنا نحاول.

# 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

الآن بعد تثبيت الإصدار postgresql الأقدم ، يمكننا إعادة تثبيت أحدث صيغة للحفاظ على نظافة مستودعنا:

$ git checkout -- Library/Formula/postgresql.rb

brew switch هو صديقك لتغيير بين القديم والجديد.

ب) عصور ما قبل التاريخ

للاحتياجات الخاصة ، قد نحاول أيضا حفر أنفسنا من خلال ريبو البيرة.

$ git log -S'8.4.4' -- Library/Formula/postgresql.rb

git log -S يبحث عن كل '8.4.4' تم فيها إضافة أو إزالة عبارة '8.4.4' في ملف Library/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

يمكنك تخطي الأمر الأخير للاحتفاظ بالإشارة في مستودع git الخاص بك.

ملاحظة واحدة: عند التحقق من الالتزام القديم ، فإنك تخفض مؤقتًا التثبيت الخاص بمنزلك. لذا ، يجب أن تكون حذراً حيث قد تختلف بعض الأوامر في homebrew عن أحدث إصدار.

4) اكتب صيغة يدويًا

ليس الأمر صعبًا ويمكنك بعد ذلك تحميله على Homebrew-Versions .

أ) مكافأة: التثبيت

إذا كنت ترغب في الاحتفاظ بنسخة معينة من ، على سبيل المثال postgresql ، وإيقافها عن التحديث عندما تقوم brew update; brew upgrade الطبيعي brew update; brew upgrade إجراء brew update; brew upgrade ، يمكنك تثبيت صيغة:

$ brew pin postgresql

يتم إدراج الصيغ /usr/local/Library/PinnedKegs/ في /usr/local/Library/PinnedKegs/ وبمجرد رغبتك في إحضار أحدث التغييرات والتحديثات ، يمكنك /usr/local/Library/PinnedKegs/ مرة أخرى:

$ brew unpin postgresql

توجد الآن طريقة أسهل بكثير لتثبيت إصدار قديم من صيغة قمت بتثبيتها مسبقًا. ببساطة استخدام

brew switch [formula] [version]

على سبيل المثال ، أنا البديل بشكل منتظم بين Node.js 0.4.12 و 0.6.5:

brew switch node 0.4.12
brew switch node 0.6.5

نظرًا لأن brew switch يغير فقط الروابط ، فإنه سريع جدًا. انظر مزيد من الوثائق حول Homebrew Wiki تحت أوامر خارجية .


إجابة محدثة منذ ذلك يضيف إلى ما @ pollard pollard نشر بالفعل كإجابة عمل.

كيفية تثبيت إصدار محدد من الصيغة (الصيغة المستخدمة في هذا المثال هي terraform ):

  1. ابحث عن ملف الصيغة ، على سبيل المثال: https://github.com/Homebrew/homebrew-core/blob/master/Formula/terraform.rb
  2. احصل على نسخة الالتزام من تاريخ جيثب مع https://github.com/Homebrew/homebrew-core/commits/master/Formula/terraform.rb أو git log master -- Formula/terraform.rb إذا كنت قد استنسعت الريبو محليا.
  3. احصل على عنوان URL الخاص ببرنامج git الخام مع نسخة الالتزام من الصيغة الخاصة بك: إذا كان رابط الصيغة في github.com هو https://github.com/Homebrew/homebrew-core/blob/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb ، فإن عنوان URL الخاص بك سيكون be: https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
  4. تثبيته مع: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb

في الإصدار الأحدث من البيرة (0.9.5 حتى كتابة هذه السطور) ستكون هناك وصفة محددة لإصدار برميل البيرة الذي تريد تثبيته. مثال:

$ brew search mongodb
mongodb    mongodb24  mongodb26

ثم مجرد القيام brew install mongodb26 مثل وضعها الطبيعي.

في حالة تثبيت أحدث إصدار ، تأكد من إلغاء ربط أحدث إصدار وربط الإصدار المطلوب: brew unlink mongodb && brew link mongodb26 .


تحديث على خط Library / Formula / postgresql.rb 8 إلى

http://ftp2.uk.postgresql.org/sites/ftp.postgresql.org/source/v8.4.6/postgresql-8.4.6.tar.bz2

و MD5 على الخط 9 ل

fcc3daaf2292fa6bf1185ec45e512db6

حفظ وخروج.

brew install postgres
initdb /usr/local/var/postgres

الآن في هذه المرحلة قد تواجه postgresql could not create shared memory segment خطأ postgresql could not create shared memory segment ، للتغلب على هذا التحديث /etc/sysctl.conf مثل هذا:

kern.sysv.shmall=65536
kern.sysv.shmmax=16777216

جرب initdb /usr/local/var/postgres مرة أخرى ، ويجب أن يتم تشغيله بسلاسة.

لتشغيل postgresql في البداية

launchctl load -w /usr/local/Cellar/postgresql/8.4.6/org.postgresql.postgres.plist

امل ان يساعد :)


I decided, against my better judgment, to create a formula for Maven 3.1.1, which homebrew/versions did not have. To do this:

  1. I forked homebrew/versions on github.
  2. I symlinked from $(brew --prefix)/Library/Taps to the local working copy of my fork. I'll call this my-homebrew/versions .
  3. I tested by specifying the formula as my-homebrew/versions/<formula> .
  4. لقد أرسلت طلب سحب إلى homebrew/versions for my new formula.

ياي.


على طول خطوط اقتراح halfcube @ ، وهذا يعمل بشكل جيد:

  1. اعثر على المكتبة التي تبحث عنها على https://github.com/mxcl/homebrew/tree/master/Library/Formula
  2. انقر فوقه: https://github.com/mxcl/homebrew/blob/master/Library/Formula/postgresql.rb
  3. انقر فوق الزر "المحفوظات" لمشاهدة الالتزام القديم: https://github.com/mxcl/homebrew/commits/master/Library/Formula/postgresql.rb
  4. انقر فوق الرمز الذي تريده: "postgresql: إصدار التحديث إلى 8.4.4" ، https://github.com/mxcl/homebrew/blob/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
  5. انقر على الرابط "الخام": https://raw.github.com/mxcl/homebrew/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
  6. brew install https://raw.github.com/mxcl/homebrew/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb

لم يعمل أي من هذه الأمور لحالتي (بايثون) ، لذا سأضيف سنتاتي 2:

cd `brew --prefix`
git log Library/Formula/python.rb

يبدو الإخراج مثل هذا:

commit 9ff2d8ca791ed1bd149fb8be063db0ed6a67a6de
Author: Dominyk Tiller <[email protected]>
Date:   Thu Jun 30 17:42:18 2016 +0100

    python: clarify pour_bottle reason

commit cb3b29b824a264895434214e191d0d7ef4d51c85
Author: BrewTestBot <[email protected]>
Date:   Wed Jun 29 14:18:40 2016 +0100

    python: update 2.7.12 bottle.

commit 45bb1e220341894bbb7de6fd3f6df20987dc14f0
Author: Rakesh <[email protected]>
Date:   Wed Jun 29 10:02:26 2016 +0530

    python 2.7.12

    Closes #2452.

    Signed-off-by: Tim D. Smith <[email protected]>

commit cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9
Author: BrewTestBot <[email protected]>
Date:   Fri Jun 17 20:14:36 2016 +0100

    python: update 2.7.11 bottle.

...

أريد إصدار 2.7.11 حتى التجزئة بلدي هو cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9 (أو cf5da05 للاختصار). بعد ذلك ، أتحقق من هذا الإصدار python الصيغة python :

git checkout cf5da05
brew install python

أخيرًا ، قم بتنظيف:

git checkout master

المشكلة مع homebrew/versions هي أن شخص ما لديه هذا الإصدار المحدد من البرامج المدرجة في مستودع لتتمكن من استخدامها. أيضا ، لأن لم تعد معتمدة على brew versions ، هناك حاجة إلى حل آخر. بالنسبة للحلول التي تشير إلى استخدام brew switch ، فإن هذا لن يعمل إلا إذا لم تكن قد قمت بعمل brew cleanup لأن الإصدار يحتاج إلى وجوده على جهاز الكمبيوتر الخاص بك.

واجهت مشكلة في الرغبة في تثبيت إصدار قديم محدد من docker-machine لم يتم إدراجه في المنتجات homebrew/versions . لقد حلت هذا باستخدام أدناه ، والتي ينبغي أن تعمل أيضا لأي برمجيات تثبيت المشروب. سيستخدم المثال أدناه جهاز docker-machine كحزمة أريد الرجوع إلى إصدار سابق من الإصدار 0.5.0 إلى 0.4.1.

  1. اذهب إلى دليل Formbau الخاص بك.
    يمكنك تحديد ذلك عن طريق تشغيل brew info [any package name] . على سبيل المثال ، يعطيني brew info docker-machine خطًا يوضح لي مسارًا - /usr/local/Cellar/docker-machine/0.5.0 . هذا يخبرني أنه على جهازي ، يتم تثبيت /usr/local في /usr/local Formula دليل Formula بي بشكل افتراضي في /usr/local/Library/Formula

  2. حدد موقع ملف الصيغة المحدد (.rb) لحزمك. نظرًا لأنني أرغب في الرجوع إلى إصدار docker-machine ، يمكنني مشاهدة ملف docker-machine.rb .

  3. الحصول على محفوظات الإصدار لملف الصيغة هذا . أدخل git log docker-machine.rb . سيقوم هذا بسرد سجل الالتزام الكامل لهذا الملف. سترى مخرجات مثل هذا:

    ...more 

    commit 20c7abc13d2edd67c8c1d30c407bd5e31229cacc
    Author: BrewTestBot 
    Date:   Thu Nov 5 16:14:18 2015 +0000

        docker-machine: update 0.5.0 bottle.

    commit 8f615708184884e501bf5c16482c95eff6aea637
    Author: Vincent Lesierse 
    Date:   Tue Oct 27 22:25:30 2015 +0100

        docker-machine 0.5.0

        Updated docker-machine to 0.5.0

        Closes #45403.

        Signed-off-by: Dominyk Tiller 

    commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423
    Author: BrewTestBot 
    Date:   Mon Sep 21 14:04:04 2015 +0100

        docker-machine: update 0.4.1 bottle.

    commit 18fcbd36d22fa0c19406d699308fafb44e4c8dcd
    Author: BrewTestBot 
    Date:   Sun Aug 16 09:05:56 2015 +0100

        docker-machine: update 0.4.1 bottle.

    ...more

الجزء الصعب هو العثور على آخر التزام للإصدار المحدد الذي تريده. في ما سبق ، أستطيع أن أقول أن أحدث نسخة 0.4.1 كانت ملتزمة بعلامة الالتزام هذه: commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423 . تبدأ الالتزامات أعلاه في هذه النقطة باستخدام الإصدار 0.5.0 (يتم إدراج إدخالات بوابة git من آخرها إلى أقرب تاريخ).

  1. احصل على نسخة سابقة من ملف الصيغة. باستخدام علامة الالتزام من الخطوة رقم 3 (يمكنك استخدام أول 6 أحرف) ، يمكنك الحصول على إصدار قديم من ملف الصيغة باستخدام ما يلي:

    git checkout 5970e1 docker-machine.rb

  2. قم بإلغاء تثبيت إصدار الحزمة الحالية. فقط قم بتشغيل أوامر الشراب العادية لإلغاء تثبيت الإصدار الحالي من الحزمة الخاصة بك.
    السابق. brew uninstall docker-machine

  3. قم بتثبيت إصدار الحزمة القديمة الآن ، يمكنك فقط تشغيل أمر التثبيت العادي ويتم تثبيت الصيغة التي قمت بسدادها. السابق. 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 الأخير للحصول على أحدث إصدار والحفاظ عليه بتلك الطريقة.



إذا لم تتمكن من العثور على الإصدار الخاص بك باستخدام brew search <formula> ، فيمكنك أيضًا محاولة تجاوز سجلات الالتزام للصيغة الخاصة بك للعثور على الإصدار الذي تريده:

إليك مثال لتثبيت إصدار قديم من nginx عبر الشراب:

من هناك ، يمكننا تثبيت 1.6.3 باستخدام عنوان url و git ur:

brew install https://raw.githubusercontent.com/Homebrew/homebrew/eba75b9a1a474b9fc4df30bd0a32637fa31ec049/Library/Formula/nginx.rb


واجهت بعض المشكلات في التثبيت بطرق مختلفة عندما اتبعت الإرشادات هنا. أعتقد أنه من الصعب جدًا التثبيت في كل بيئة Windows بالطريقة نفسها. في حالتي أحتاج إلى Python 2.6 و 2.7 و 3.3 في نفس الجهاز لأهداف مختلفة ولهذا السبب أعتقد أن هناك المزيد من المشاكل. ولكن التعليمات التالية عملت بشكل مثالي بالنسبة لي ، لذلك قد يكون ذلك بناءً على بيئتك ، لذا عليك تجربة هذا:

http://docs.python-guide.org/en/latest/starting/install/win/

أيضًا ، نظرًا للبيئات المختلفة التي وجدتها مفيدة لاستخدام البيئات الافتراضية ، كان لديّ مواقع ويب تستخدم مكتبات مختلفة وكان من الأفضل بكثير تغليفها في مجلد واحد ، والتحقق من التعليمات ، لفترة وجيزة إذا تم تثبيت PIP ، فما عليك سوى تثبيت VirtualEnv:

pip install virtualenv

في المجلد لديك كل ملفاتك تعمل

virtualenv venv

وبعد ثوان من ذلك ، لديك بيئة افتراضية مع كل شيء في مجلد venv ، لتنشيط تشغيل venv / Scripts / activate.bat (إلغاء تنشيط بيئة سهلة ، استخدم deactivate.bat). ستنتهي كل مكتبة تقوم بتثبيتها في حزم venv \ Lib \ site ، ومن السهل نقل البيئة بأكملها في مكان ما.

الجانب السلبي الوحيد الذي وجدته هو أن بعض برامج تحرير التعليمات البرمجية لا يمكنها التعرف على هذا النوع من البيئات ، وسوف تشاهد تحذيرات في شفرتك نظرًا لعدم العثور على المكتبات المستوردة. بالطبع هناك طرق صعبة للقيام بذلك ولكن سيكون من المحررون جيدًا أن نضع في اعتبارنا البيئات الافتراضية طبيعية جدًا في الوقت الحاضر.

آمل أن يساعد.