रेल सर्वर बिन / रेल: 6: चेतावनी: पहले से ही निरंतर APP_PATH त्रुटि


79

मैंने कई चीजों की कोशिश की है जैसे रेल और रत्नों को अनइंस्टॉल / रीइंस्टॉल करना लेकिन कोई फायदा नहीं हुआ।

जब मैं अपने नए प्रोजेक्ट में जाता हूं और रेल एस या बंडल एक्सेल रेल चलाता हूं तो मुझे यह त्रुटि मिल रही है:

bin/rails:6: warning: already initialized constant APP_PATH
/Users/toabui/Sites/cms/bin/rails:6: warning: previous definition of APP_PATH was here Usage: rails COMMAND [ARGS]

मेरे बिन / रेल के अंदर मुझे यह कोड दिखाई देता है:

#!/usr/bin/env ruby
begin
load File.expand_path("../spring", __FILE__)
rescue LoadError
end
APP_PATH = File.expand_path('../../config/application',  __FILE__)
require_relative '../config/boot'
require 'rails/commands'

क्या किसी को पता है कि जब मैं रेल चलाता हूं तो मुझे वह त्रुटि क्यों होती रहती है?

मैंने गुगली की है और ऐसा लगता है कि वसंत रत्न के साथ एक त्रुटि है लेकिन मैं इसे काम करने के लिए नहीं कर सकता।


6
मेरे पास यह समस्या थी और इसका कारण database.ymlएडॉप्टर में अलग-अलग था Gemfile
१३:१२ बजे मोनीटिरोब्रेन

वास्तव में मुझे यह त्रुटि तब भी हो रही है जब मैं बल्कमेल रत्न का उपयोग कर रहा हूं। यदि मैं इस रत्न पर टिप्पणी करता हूं तो त्रुटि नहीं आ रही है।
शैलेंद्र सिंह

stackoverflow.com/a/35851557/3728916 ने मेरा मसला हल किया
ImranNaqvi

जवाबों:


116

मुझे अपनी निर्देशिका में a_initilizer.rb नहीं मिला और मैंने स्प्रिंग मणि को अनइंस्टॉल करने / स्थापित करने की कोशिश की, लेकिन यह काम नहीं किया।

हालाँकि मैंने आखिरकार इसे काम में ले लिया।

जाहिरा तौर पर वसंत और रेल 4+ के साथ कुछ संघर्ष है।

मुझे दौड़ने की जरूरत थी:

rake rails:update:bin 

लेकिन मैं एक और त्रुटि से भाग गया:

Library not loaded: libmysqlclient.18.dylib

मैंने निम्नलिखित कमांड चलाई जो मुझे एक अन्य स्टैकओवरफ़्लो पोस्ट पर मिली:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 

फिर मूल कमांड भागा:

 rake rails:update:bin 

फिर सर्वर कमांड चलाएं:

 rails s

और अब मेरा WebBrick Server चल रहा है।


आपको बहुत - बहुत धन्यवाद! यह वास्तव में मदद की!
वादिम

1
बिल्कुल सही, मुझे भी चलना था bin/rake db:migrate RAILS_ENV=development
शादोथ

इस उत्तर को स्वीकार कर सकते हैं; यह बहुत से लोगों के लिए काम करने लगता है।
पॉल रिक्टर

1
यह mysql से संबंधित प्रतीत होता है, यदि आप mysql2 को अपने रत्न में शामिल करते हैं। यह त्रुटि उठेगी कि आप डेटाबेस के रूप में mysql2 का उपयोग करते हैं या नहीं।
क्रिस .Zou

मेरी भी यही त्रुटियां थीं। इससे मेरी समस्या ठीक हो गई। धन्यवाद!
साइबर


13

यदि आप El Capitan (OS X 10.11) पर हैं, तो सुरक्षा अखंडता संरक्षण (SIP) mysql को ठीक करने के लिए / usr / lib में लिंक करने से रोकेगा। इसके बजाय / usr / स्थानीय / देय में लिंक करें:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

मुझे त्रुटि ln: /usr/local/lib/libmysqlclient.18.dylib: फ़ाइल मौजूद है .. कोई विचार?
आइजैक वाई

@ इस्सा-क्या विकल्प के बारे में?
जियोम

यदि आपने होमब्रे या अन्य विधि का उपयोग करके mysql स्थापित किया है mysql_config --libsतो आप पुस्तकालयों के रास्ते का पता sudo ln -s mypath /usr/local/lib/libmysqlclient.18.dylib
लगाकर

6

यह मेरे लिए काम है।

gem uninstall mysql2

bundle install या gem install mysql2


3

मुझे वही त्रुटि मिल रही थी। जेमफाइल से वसंत को हटा दिया और फिर से बंडल किया। हालांकि वास्तव में एक समाधान नहीं है।

मुझे वह कोड मिला जिसने इस त्रुटि को बनाया है config/initializers/an_initializer.rb

require "lib/a_file_i_need"

मैंने इसके लिए बदलाव किया

require "#{ Rails.root }/lib/a_file_i_need"

#{Rails.root}रास्ते से जुड़ने से मुझे त्रुटि से छुटकारा मिला।
जिग्नेश गोहेल

2

मुझे यह त्रुटि रेल 4 और इमेजमागिक और रमागिक को अपडेट करने की कोशिश करके मिली। तो मैं बस भागा

मणि स्थापना रद्द करें

ऑल वर्जन विकल्प को चुनें। फिर पुनः प्रयास करें

संपादित करें: यह मेरे साथ फिर से खुशहाल हो गया क्योंकि मैंने आवश्यक आधार मणि स्थापित किए बिना एक मणि का उपयोग करने की कोशिश की। मेरे मामले में समाधान 'omniauth-google' को 'omniauth-google-oauth2' का उपयोग करने से पहले स्थापित करना था, लेकिन क्योंकि मैंने स्थापित नहीं किया था, मुझे फिर से वही त्रुटि मिली


2

मुझे भी यही त्रुटि मिली। मेरे पास माणिक पर 2.1.3 और रेल्स 4.1.6 रन थे और फिर मैंने योसेमाइट की ओर प्रस्थान किया और 4.2.0 रेल संस्करण को एक रूबी 2.1.5 स्थापित किया और पिछले संस्करण में मेरे द्वारा किए गए मेरे ऐप नए के साथ काम नहीं किए। , इसलिए मैंने RVM के साथ कुछ रत्न सेट किए और 2.1.3 संस्करण स्थापित किया। अब जब मैं सर्वर चलाना चाहता था तो मुझे ये त्रुटि मिली:

bin/rails:6: warning: already initialized constant APP_PATH
/Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails:6: warning: previous definition of APP_PATH was here
Usage: rails COMMAND [ARGS]

और के रूप में tobu उल्लेख मैं भाग गया:

rake rails:update:bin

मुझे यह मिल गया:

LoadError: dlopen(/Users/Lexynux/.rvm/gems/ruby-2.1.3@SAIIP2/extensions/x86_64-darwin-14/2.1.0-static/mysql2-0.3.16/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib

फिर मैंने इसे चलाया:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

और अंत में मैंने पहली कमांड को दोहराया जो टर्मिनल ने मुझसे इसके लिए कहा:

Overwrite /Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails? (enter "h" for help) [Ynaqdh]

मैंने सिर्फ 'Y' टाइप किया और वापसी की।

इन सबके बाद मैंने काम करना शुरू किया और अच्छा चल रहा था।

धन्यवाद।


2

Postgresql को अपग्रेड करने के बाद मुझे यह त्रुटि मिली।

$ gem uninstall pg
$ gem install pg

मेरे लिए इस मुद्दे को हल कर दिया।


2

मेरे साथ ऐसा करने के बाद ऐसा हुआ brew upgrade । मेरा अनुमान है कि इसने देशी एक्सटेंशन के साथ कुछ रत्नों को तोड़ दिया, भले ही कोई त्रुटि संदेश न हो।

मैंने जो किया वह पूरी तरह से मेरे स्थापित रत्नों को हटा रहा था (मेरे मामले में मैंने पूरी तरह से अनइंस्टॉल कर दिया और रूबी संस्करण का उपयोग करके पुनः स्थापित किया rbenv)।
रनिंग bundle installने देशी एक्सटेंशन को फिर से जोड़ दिया, और सब कुछ फिर से चल रहा था।


1
मेरे मामले में यह mysql को अपग्रेड करने के बाद था, इसलिए मुझे केवल रत्न की स्थापना रद्द करनी थी mysql gemऔर फिर एक बंडल स्थापित करना था।
गुज़र्ट

1

मुझे वही त्रुटि मिली, इससे संबंधित होने की खुशी है gem dotenv। निर्देश निम्नलिखित को जेफ़ाइल में जोड़ने के लिए थे:

gem 'dotenv', :require => 'dotenv/rails-now'

लेकिन जैसा कि यह निकला, dotenv/rails-nowत्रुटि का कारण बना। यदि आप उपयोग की dotenvआवश्यकता नहीं हैrails-now


1

क्या आप विभिन्न शाखाओं में pg और mysql का उपयोग कर रहे हैं? यदि हाँ, कृपया db config फाइल की पुष्टि करें।


1

मैं पोस्ट करूँगा कि मेरे लिए क्या काम किया।

टिप्पणी दें

gem 'spring'

जोड़ना gem 'net-shh'

और भाग खड़ा हुआ bundle install

और अपने विच्छेद को पुनः आरंभ करें


1

रेल को अपग्रेड करने के बाद मुझे यह त्रुटि मिली। अक्षम करनेspring मुझे एक संकेत है कि मुद्दे के साथ था दे:

gem 'google-api-client', require: 'google/api_client'

में परिवर्तित किया गया:

gem 'google-api-client', '0.9'

मसला हल किया।


0

वैग्रांत वातावरण में एप्लिकेशन शुरू करने का प्रयास करते समय मेरे पास एक ही त्रुटि संदेश आउटपुट था। यह एप्लिकेशन कोड में शून्य परिवर्तन (और अन्य अजीब व्यवहार का पालन किया जाता है, जैसे कि विकास से बाहर हो गया। जैसे कि एप्लिकेशन चलाने के प्रयास पर हटाया जा रहा है)।

अंत में मैंने बस VM को रोक दिया और इसे पुनः आरंभ किया, सब कुछ तब ठीक था इसलिए मैं मान रहा हूं कि यह फ़ाइल सिंक्रनाइज़ / साझा किए गए फ़ोल्डर के साथ एक समस्या थी? (डिफ़ॉल्ट Vagrant साझा फ़ोल्डर का उपयोग किया जा रहा है)।



0

यदि rake rails:update:binअतिरिक्त त्रुटि देता है:

मैं हाल ही में कुछ सर्वर रखरखाव कर रहा था और बाद में ओपनएसएसएल को अपडेट किया था।

जब मैंने rake rails:update:binकमांड चलाने की कोशिश की , तो मुझे ओपनएसएसएल से संबंधित त्रुटि के साथ प्रस्तुत किया गया।

रूबी के मेरे संस्करण को फिर से बनाया गया है (`आरवीएम के साथ रूबी-एक्सएक्सएक्स को पुनः स्थापित करें), दोनों त्रुटियां चली गईं।

यह हमेशा एक कोशिश के लायक है जो मुझे लगता है।


0

मेरी समस्या यह थी कि मैं एक पुरानी संस्करण का उपयोग कर रहा था 1.9 के साथ रूबी 1.9.3। मैंने 2.1.2 में अपग्रेड किया, टूटी हुई परियोजना को हटा दिया, अपनी परियोजना को फिर से बनाने के लिए नए ब्लॉग को चलाया, मेरे नए बनाए गए ऐप में नेविगेट किया और रेल सर्वर को चलाया और यह काम किया।


0

मुझे बस यह समस्या थी और पाया कि यह इस तथ्य के कारण हो रहा था कि मैंने अन्य requireसंदर्भों को हटाए बिना मणि को एक मणि से हटा दिया था । मेरे मामले में, मुझे सिर्फ इसे config / application.rb से निकालना था।


0

हाल ही में यह त्रुटि हुई थी, यह वसंत के कारण होता है, क्योंकि निष्पादनयोग्य में इसके सुझाए गए कोड:

begin
  load File.expand_path('../spring', __FILE__)
rescue LoadError
end

यह मूल रूप LoadErrorसे उत्पादन में वसंत के लिए ही उम्मीद करता है , लेकिन इस कोड द्वारा अन्य सभी लोड त्रुटि को भी अनदेखा किया जाएगा।

इस प्रकार यदि आपके पास LoadErrorरेल लोडिंग प्रक्रिया में कोई अन्य है (उदाहरण के लिए मार्गों / init में) स्प्रिंग वर्कर स्टार्टअप विफल रहता है और फिर शाखा जाती है जो सब कुछ फिर से लोड करने की कोशिश करती है जैसे वसंत नहीं था।


0

मेरे लिए इस मुद्दे को अन्य चीजों के बीच rvm-capistrano के उन्नयन के परिणामस्वरूप प्रस्तुत किया गया।
इसे जोड़ने की आवश्यकता है: इस पिछली पोस्ट के अनुसार अंत में गलत निश्चित चीजें

gem  'rvm-capistrano',  require: false

हालांकि संभवतः एक अतिरिक्त मुद्दा rake rails:update:binहो सकता है - जैसा कि चल रहा है, इससे शुरुआती मुद्दे को साफ करने में मदद मिल सकती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.