سؤال

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

يتطلب

وطلبي اثنين من الأحجار الكريمة مخصصة "الأمازون ECS" و "nokogiri". وفقا للتعليمات على ويكي درمهوست ( http://wiki.dreamhost.com/Freezing_Gems ) I جمدت الأحجار الكريمة للبائعين من الترميز لهم في ملف التكوين بلدي (config.gem "nokogiri") ومن ثم استخدام الأحجار الكريمة أشعل النار: فك الأوامر لبنائها إلى بائع

وبعد ذلك جمدت الأحجار الكريمة القضبان باستخدام القضبان أشعل النار: تجميد: الأحجار الكريمة، وتحميلها لبلدي فرعي

.

وخطوط السبع الماضية من بلدي المتتبع الخلفي تذهب كما يلي:

0   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   336     in `abort'
1   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   336     in `check_gem_dependencies'
2   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   170     in `process'
3   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   113     in `send'
4   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   113     in `run'
5   ./config/environment.rb     9   
6   /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb     31  in `gem_original_require'
7   /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb     31  in `require'

وملف التكوين بلدي يبدو مثل هذا:

RAILS_GEM_VERSION = '2.3.3' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')

Rails::Initializer.run do |config|
config.gem "nokogiri"
config.gem "amazon-ecs"
config.time_zone = 'UTC'
end

هل افتقد خطوة مع الأحجار الكريمة؟ أنا على الطريق الصحيح؟

هل كانت مفيدة؟

المحلول

وأي الأحجار الكريمة التي لديها امتدادات الأم لا يمكن vendored مع التطبيق الخاص بك، وليس هناك رهانا جيدا أنه في DH، سوف config.gem لا تعمل الحق سواء. لديك لتثبيت جواهر روبي الخاصة بك وجعل التطبيق استخدامه. وأوصي أن نلقي نظرة على هذا:

http://railstips.org/2008/11 / 24 / جواهر روبي-لك من الألغام، ولنا

ولديها تعليمات وكبيرة لإنشاء بيئتك على DH. أود فقط أن تفعل هذا في الأسبوع الماضي بعد ترقية الخادم، وأنه لا يزال ساريا.

نصائح أخرى

وحتى / بائع / القضبان و / بائع / الإضافات / nokogiri والأمازون-ECS موجودة وتبدو على ما يرام بالنسبة لك؟ هل يمكن أن تحاول مرة أخرى وهذه المرة تحديد إصدار الدقيق للجوهرة في التكوين الخاص بك، مثل هذا

config.gem "nokogiri", :version => "1.0"

وأو إذا كان جوهرة في جيثب

config.gem "tenderlove-nokogiri", :version => "1.0", :lib => "nokogiri", :source => "http://gems.github.com"

ووالمتتبع الخلفي لا يبدو مفيدا جدا، ما يجري بالضبط؟ : -)

وحصلت على نفس المتتبع الخلفي (على صفحة خطأ الركاب) مع التطبيق I نشرت مؤخرا. واتضح أنه لم يكن قادرا على العثور على واحد من الأحجار الكريمة كنت اعتمادا على (config.gem) ... على الرغم من حقيقة أن الأحجار الكريمة أشعل النار قالوا إنه كان هناك ([I] اختبار وحدة = 1.2.3).

واقترح دعم درمهوست أن أحاول تجميد / تفريغ الأحجار الكريمة بلدي. التي ربما قد عملت (لم يكن لديها مشكلة في إيجاد أي من بلدي الأحجار الكريمة الأخرى، والتي كانت مجمدة)، ولكن لبعض الأحجار الكريمة السبب أشعل النار: فك لا تفعل أي شيء بالنسبة لي، لذلك انتهى بي الأمر مجرد تعليقه إلى أن التكوين خط .gem منذ لم أكن في حاجة إليها في الإنتاج على أي حال، والتي عملت!

وحتى إذا كان أي شخص آخر هو الحصول على هذا الخطأ، فإنه يشير بقوة إلى أن واحدة من المجوهرات الخاص بك لا يتم العثور عليها. محاولة التعليق خارج خطوط config.gem الخاص بك، في وقت واحد حتى يبدأ العمل أو إعطاء خطأ مختلفة؟

وكان لي قضية على درمهوست الأسبوع الماضي حيث توقفت تطبيقات بلدي القضبان العمل فجأة عن العمل بسبب الأحجار الكريمة في عداد المفقودين. اتصلت الدعم وهنا كان ردهم:

<اقتباس فقرة>   

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

فمن الممكن أنك تتأثر الشيء نفسه. محاولة الاتصال بالدعم لمعرفة ذلك.

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