لا يتم تثبيت Bundler من مخزن الريبو الخاص، ولكنه يُبلغ عن ذلك

StackOverflow https://stackoverflow.com//questions/21027072

سؤال

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

داخل ملف Gemfile الخاص بي، لدي:

group :internal do
  gem 'private', git: 'ssh://git@internalserver.org:<port>/gems/private.git'
end

يتم تشغيل هذا، وينتج عن التسجيل المطول ما يلي:

Updating ssh://git@internalserver.org:<port>/gems/private.git
Cloning into '/Users/<username>/.rvm/gems/ruby-2.0.0-p247/bundler/gems/private-ddec73caf50f'...
done.

عندما أنتقل إلى /Users/<username>/.rvm/gems/ruby-2.0.0-p247/bundler/gems/, ، أرى أن المستودع الصحيح مستنسخ بشكل صحيح، مع Gemspec بالاسم الصحيح.

عند الانتهاء من تشغيل المجمع، gem list لا يظهر private جوهرة.وينتج خطأ عندما أحاول أن أطلب ذلك.

لقد حاولت حذف ملف Gemfile.lock الموجود في المستودع ثم إعادة تشغيله، لكن ذلك لم ينجح.يتم تثبيت جميع الجواهر العامة الموجودة في ملف Gemfile بشكل صحيح.

أرقام الإصدارات / البرامج ذات الصلة:

  • إصدار المجمع 1.3.5
  • آر في إم 1.23.14
  • روبي 2.0.0p247
  • اتلاسان ستاش
هل كانت مفيدة؟

المحلول

تعد أحجار Git امتدادًا خاصًا بـ Bundler لـ Rubygems.ال gem الأمر لا يعرف شيئًا عن هذه الأشياء، لذا لم يتم إدراجها بواسطة gem list.يمكنك الجري bundle show للاطلاع على قائمة الأحجار الكريمة التي يتعرف عليها Bundler، والتي ستتضمن أحجار git.

لطلب الجوهرة، ستحتاج إلى التأكد من إعداد مسار التحميل بشكل صحيح بواسطة Bundler.هناك ثلاث طرق للقيام بذلك:

  1. يتصل require 'bundler/setup' في التطبيق الخاص بك.هذا أمر نموذجي لتطبيقات Rails. المزيد عن Bundler.setup
  2. يتصل bundle exec <command> لتشغيل الأمر.يعد هذا أكثر شيوعًا عند تشغيل أوامر من جوهرة، مثل rake أو rspec. المزيد عن bundle exec
  3. إنشاء بنستوب للأوامر التي تقوم بتشغيلها بشكل متكرر.

يرى http://bundler.io/v1.5/git.html لمزيد من المعلومات حول git Gems.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top