ruby - مصر - كيف يتم صقل الأحجار الكريمة




أين يقوم المحزم بتخزين الأحجار الكريمة؟ (2)

إذا كنت ترغب في معرفة مكان تخزين جوهرة معينة ، يمكنك تشغيل bundle show <gem-name> . فمثلا:

[email protected]$ bundle show rake
/var/bundle/ruby/2.1.0/gems/rake-10.4.2

أعلم أنه عند استخدام gem install ، سيتم تخزين الجوهرة تحت / home / اسم المستخدم / rvm/gems/ ، والتي تم بموجبها تثبيت gemset.

لكن إذا استخدمت Bundler وحددت الأحجار الكريمة في Gemfile ، عندما أقوم بتشغيل تثبيت حزمة ، أين سيتم تخزين هذه الأحجار الكريمة؟ وماذا لو قمت بالفعل بتثبيت الأحجار الكريمة باستخدام gem install ، إذا قمت بتشغيل تثبيت حزمة ، هل سيتم استخدام الأحجار الكريمة السابقة المثبتة باستخدام gem install ؟


هذا يعتمد. في إعداد التطوير المعتاد ، يتم تثبيتها حيث ستكون عند تثبيت جوهرة "بشكل طبيعي" (عن طريق تشغيل gem install foo ) ولن يقوم المجمّع بإعادة تثبيت الأحجار الكريمة الموجودة بالفعل. يعتمد هذا الموقع على كيفية تكوين rubygems نفسه.

إذا قمت بتشغيل تثبيت حزمة مع خيار - --deployment ، فسيتم تثبيت الأحجار الكريمة في موقع فريد لتطبيقك (يمكنك تمرير هذا كخيار منفصل ولكنه افتراضيًا للبائع / حزمة)

يمكنك أيضًا تشغيل bundle package لتخزين جميع ملفات. gem التي يستخدمها تطبيقك في vendor/cache . تشغيل bundle install سيفضل الجواهر في البائع / ذاكرة التخزين المؤقت على الأحجار الكريمة في مواقع أخرى.







gemset