2012-09-08 26 views
12

जब मैं अपने रेल सर्वर शुरू करने के लिए, मैं निम्नलिखित त्रुटि हो रही है कोशिश:रेल सर्वर नई अवशेष त्रुटि के कारण शुरू नहीं होगी

मैं रूबी 1.9.2

=> Booting WEBrick 
=> Rails 3.1.8 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
/Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/newrelic_rpm-3.4.2/lib/new_relic/agent/agent.rb:318:in `log_app_names': undefined method `join' for nil:NilClass (NoMethodError) 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/newrelic_rpm-3.4.2/lib/new_relic/agent/agent.rb:439:in `start' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/newrelic_rpm-3.4.2/lib/new_relic/control/instance_methods.rb:95:in `start_agent' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/newrelic_rpm-3.4.2/lib/new_relic/control/instance_methods.rb:83:in `init_plugin' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/newrelic_rpm-3.4.2/lib/newrelic_rpm.rb:36:in `block in <class:Railtie>' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.1.8/lib/rails/initializable.rb:30:in `instance_exec' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.1.8/lib/rails/initializable.rb:30:in `run' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.1.8/lib/rails/initializable.rb:55:in `block in run_initializers' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.1.8/lib/rails/initializable.rb:54:in `each' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.1.8/lib/rails/initializable.rb:54:in `run_initializers' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.1.8/lib/rails/application.rb:96:in `initialize!' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.1.8/lib/rails/railtie/configurable.rb:30:in `method_missing' 
from /Users/toptier/Desktop/Proyectos/CursoIngles/config/environment.rb:5:in `<top (required)>' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:240:in `require' 
from /Users/toptier/.rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:240:in `block in require' 

उपयोग कर रहा हूँ यह है निम्नलिखित मणि का उपयोग कर: newrelic_rpm (3.4.2)। यदि मैं gemfile में न्यूरेलिक लाइन पर टिप्पणी करता हूं तो यह अच्छी तरह से काम करता है,

कोई विचार?

+3

मुझे नए अवशेष मणि '3.4.2' के नए संस्करण के साथ एक ही समस्या है। पता नहीं क्या इसका कारण बनता है, लेकिन '3.4.1' के साथ सबकुछ सही काम करता है। मणि संस्करण को डाउनग्रेड करने का प्रयास करें। –

उत्तर

10

मैं न्यू अवशेष पर काम करते हैं और हम इस समस्या नीचे ट्रैक करने के बाद की तरह लग रही अप हवाएँ के बाद।

ऐसा तब होता है जब nil स्पष्ट रूप से ऐप नाम के रूप में सेट किया जाता है, जो आम तौर पर उसके अनुयायी ऐप्स के स्थानीय विकास के लिए होता है जो उनके ऐप का नाम ENV["NEW_RELIC_APP_NAME"] से खींचता है। चूंकि यह पर्यावरण चर आमतौर पर आपके स्थानीय देव बॉक्स पर सेट नहीं होता है, यह एजेंट की कॉन्फ़िगरेशन में शून्य के रूप में आता है और स्थानीय सर्वर को क्रैश करता है। यह ऐप के तैनात संस्करणों को प्रभावित नहीं करता है जहां यह चर सेट है।

स्पष्ट रूप से एजेंट को इस मामले को गहन तरीके से संभालना चाहिए, और अगले दिन या दो में हमारे पास एक पैच होगा। हमने अभी एजेंट की कॉन्फ़िगरेशन का एक बड़ा रिफैक्टरिंग पूरा किया है, और यह एज केस हमारे आंतरिक परीक्षण में चूक गया था।

एटोलब टिप्पणी में एक अच्छा कामकाज देता है। आपको यह सिरदर्द पैदा करने के लिए बहुत खेद है।

यदि आपके कोई प्रश्न हैं या चिंताएं मुझे [email protected] पर सीधे ईमेल करने के लिए स्वतंत्र महसूस करती हैं।

धन्यवाद!

+0

Thanx, दोस्तों। न्यूट्रिक मणि को अपग्रेड करने के लिए अपने पैच के लिए तत्पर हैं। –

+0

मुझे हेरोकू में यह तैनाती मिलती है। ऐप तैनात करता है, लेकिन त्रुटि कंसोल में दिखाई देती है। बस एफवाईआई – JohnMetta

+0

धन्यवाद सैम! – Tony

1

टिप्पणी के लिए धन्यवाद। जवाब 3.4.1 पर डाउनग्रेड करना है।

+0

* एक * उत्तर डाउनग्रेड करना है। ;] यहां कुछ अन्य विकल्प प्रस्तुत किए गए हैं। मुझे याद आ रही थी कि बस क्या खो रहा था इसके लिए एक स्थानीय env var सेट करना सबसे आसान था। – brookr

+0

मैंने सही उत्तर बदल दिया। – Tony

3

यह समस्या आपके न्यूरेलिक कॉन्फ़िगरेशन में app_name सेटिंग रिक्त होने से संबंधित प्रतीत होती है। व्यक्तिगत तौर पर मैं Heroku स्थापना के माध्यम से चला गया (ताकि आपके config अलग दिख सकता है), लेकिन यह मैं क्या किया है:

config/newrelic.yml (https://gist.github.com/2253296 से नकल) के भीतर मैं common config (लाइन से लाइन

app_name: <%= ENV["NEW_RELIC_APP_NAME"] %> 

हटाया मेरे लिए 35) production config (में मेरे लिए लाइन 247) है, जो

production: 
    <<: *default_settings 
    monitor_mode: true 
    app_name: <%= ENV["NEW_RELIC_APP_NAME"] %> 
3

किसी ऐसे व्यक्ति से उत्तर देखने के लिए बढ़िया जो जिम्मेदारी ले सकता है! अच्छा काम, नया अवशेष। धन्यवाद, @ एसएएमजी।

चूंकि यह मुद्दा केवल एक शून्य env मान है, मणि को डाउनग्रेड करने या कॉन्फ़िगरेशन फ़ाइलों के साथ डडलिंग करने के बजाय, मैंने अभी पर्यावरण चर जोड़ा है।

यह देखने के लिए कि क्या सेटिंग Heroku पर है आसान है:

$ heroku config 
    ... 
NEW_RELIC_APP_NAME: my_app_name 
NEW_RELIC_ID:   123456 
NEW_RELIC_LICENSE_KEY: 982987ae987987af98798something7e897987987c7b9d7 
NEW_RELIC_LOG:   stdout 
... 

मैं तो मेरे इस परियोजना के माध्यम से एक स्थानीय env var सेट करने के लिए चुना।rvmrc फ़ाइल है, जहां मैं बहुत कुछ इसी तरह की अन्य बातें:

rvm use [email protected] --create 
export PATH=bin:$PATH 
export NEW_RELIC_APP_NAME=my_app_name 

फिर यह बस एक cd .. और अपने प्रोजेक्ट में फिर से एक cd, ले लिया और यह संस्करण 3.4.2 पर मणि के साथ काम कर रहा था।

पार्टी चालू!