كيف يمكنني استخدام المجمدة كابيسترانو؟
-
22-07-2019 - |
سؤال
الخلفية الدرامية
وأنا على القضبان 2،1 وتحتاج إلى تجميد جوهرة كابيسترانو إلى مجلد بائع بلدي (كما مضيفي قد كسر تبعيات على جوهرة الغطاء وأريد أن أجعل نفسي مستقلة قدر الإمكان).
في الجهاز الخاص بي ويندوز المحلية لقد وضعت ما يلي بلدي environment.rb
config.gem "capistrano", :version => "2.5.2"
config.gem "net-ssh", :lib => "net/ssh", :version => "2.0.4"
config.gem "net-scp", :lib => "net/scp", :version => "1.0.1"
config.gem "net-sftp", :lib => "net/sftp", :version => "2.0.1"
config.gem "net-ssh-gateway", :lib => "net/ssh/gateway", :version => "1.0.0"
وكانت بالفعل تثبيت الأحجار الكريمة ولذا فإنني جمدت لهم. فحص ...
>rake gems
...
[F] capistrano = 2.5.2
[F] net-ssh = 2.0.4
[F] net-scp = 1.0.1
[F] net-sftp = 2.0.1
[F]net-ssh-gateway = 1.0.0
وبعد ذلك الالتزام SVN محليا والتحديث على مربع لينكس همز.
مشكلة
وعندما أحاول وتشغيل نسختي المجمدة من كابيسترانو أحصل على الخطأ التالية.
$ ./vendor/gems/capistrano-2.5.2/bin/cap deploy-with-migrations
./vendor/gems/capistrano-2.5.2/bin/cap:3:in `require': no such file to load --capistrano/cli (LoadError)
from ./vendor/gems/capistrano-2.5.2/bin/cap:3
وأي أفكار ما فعلته خطأ؟
تحديث
المحلول
وأنت لم تفعل شيئا خاطئا. كنت تشاهد هذه المشكلة لأنه لم يقصد الملف cap
تحت capistrano/bin/cap
ليتم تشغيلها باعتبارها تقف وحدها. سترى نفس النتيجة إذا حاولت تشغيله من مجلد جوهرة الأساسي. للتنفيذ cap
(المخزنة في /usr/bin/cap
على لينكس القياسية تثبيت) يتطلب rubygems
، ويسجل كابيسترانو و<م> ثم م> بتحميل الملف capistrano/bin/cap
.
وأحد الحلول لهذا سيكون لإضافة require 'rubygems'
إلى كابيسترانو / بن / ملف الحد الأقصى الخاص بك:
#!/usr/bin/env ruby
require 'rubygems'
require 'capistrano/cli'
Capistrano::CLI.execute
إذا كنت لا ترغب في تعديل capistrano/bin/cap
هل يمكن أن تشمل على وجه التحديد مكتبة جواهر روبي عند تشغيله باستخدام العلامة -r. أن القيادة نظرا بهذا الشكل:
$ ruby -r rubygems ./vendor/gems/capistrano-2.5.2/bin/cap deploy-with-migrations
نصائح أخرى
وهناك طريقة أخرى لاستخدام إصدار محدد من كابيسترانو أن يكون شيء من هذا القبيل، إضافة اسم مستعار ل.bash_login الخاص بك كما يلي:
alias cap1='cap _1.4.2_ '
وحيث CAP1 هو الأمر الذي سيتم تشغيل و<م> 1.4.2 م> هو الإصدار الذي تريد هذا الأمر لتشغيل، ثم يمكنك:
cap1 deploy
وبعد ذلك استخدام هذا الإصدار من كابيسترانو لنشر التطبيق الخاص بك.