2013-05-06 8 views
13

तो रेल रेल के साथ काम नहीं करता है। मैंने सोचा था कि मुद्दा थायोकू टूलबल्ट था, इसलिए मैंने इसे हटा दिया लेकिन उसने चाल नहीं की। मैंने फिर अपनी .zshrc फ़ाइल की जांच की और देखा कि इसमें रूबी का एक अलग संस्करण था कि वह पैथ में कॉल कर रहा था, इसलिए मैंने इसे अपडेट किया। हालांकि यह ऐसा नहीं किया। मैं विचारों से बाहर हूं। क्या कोई मदद कर सकता है, कृपया?रेल एस -> dyld: आलसी प्रतीक बाध्यकारी विफल: प्रतीक नहीं मिला: _rb_intern2

# (05/06/13 @ 10: 1:00) (व्यवस्थापक @ व्यवस्थापकों-मैकबुक प्रो): ~/डेस्कटॉप/खरोंच रेल रों dyld: आलसी प्रतीक बंधन में विफल रहा है: प्रतीक नहीं मिला: _rb_intern2 से संदर्भित /Users/admin/.rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle में अपेक्षित: फ्लैट नाम स्थान

dyld: Symbol not found: _rb_intern2 
    Referenced from: /Users/admin/.rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle 
    Expected in: flat namespace 

[1] 69741 trace trap rails s 

# (05/06/13 @ 10: 02AM) (व्यवस्थापक @ व्यवस्थापक-मैकबुक-प्रो): ~/डेस्कटॉप/स्क्रैच आरवीएम सूची डिफ़ॉल्ट

Default Ruby (for new shells) 

    ruby-1.9.3-p392 [ x86_64 ] 

# (05/06/13 10 @: 11:00) (व्यवस्थापक @ व्यवस्थापकों-मैकबुक प्रो): ~/डेस्कटॉप/खरोंच माणिक -v

ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] 

# (05/06/13 @ 10: 11:00) (व्यवस्थापक @ व्यवस्थापकों-मैकबुक प्रो): ~/डेस्कटॉप/ रेल खरोंच -v

Rails 3.2.12 

gemfile:

source 'https://rubygems.org' 

gem 'rails', '3.2.12' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'sqlite3' 
# gem 'pg' 
gem "bootstrap-sass", ">= 2.3.0.0" 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

# To use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# To use Jbuilder templates for JSON 
# gem 'jbuilder' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'debugger' 

.zshrc फ़ाइल:

# Path to your oh-my-zsh configuration. 
ZSH=$HOME/.oh-my-zsh 

# Set name of the theme to load. 
# Look in ~/.oh-my-zsh/themes/ 
# Optionally, if you set this to "random", it'll load a random theme each 
# time that oh-my-zsh is loaded. 
ZSH_THEME="junkfood" 

# Example aliases 
# alias zshconfig="mate ~/.zshrc" 
# alias ohmyzsh="mate ~/.oh-my-zsh" 

# Set to this to use case-sensitive completion 
# CASE_SENSITIVE="true" 

# Comment this out to disable bi-weekly auto-update checks 
# DISABLE_AUTO_UPDATE="true" 

# Uncomment to change how many often would you like to wait before auto-updates occur? (in days) 
# export UPDATE_ZSH_DAYS=13 

# Uncomment following line if you want to disable colors in ls 
# DISABLE_LS_COLORS="true" 

# Uncomment following line if you want to disable autosetting terminal title. 
# DISABLE_AUTO_TITLE="true" 

# Uncomment following line if you want red dots to be displayed while waiting for completion 
# COMPLETION_WAITING_DOTS="true" 

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) 
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ 
# Example format: plugins=(rails git textmate ruby lighthouse) 
plugins=(git) 

source $ZSH/oh-my-zsh.sh 

# Customize to your needs... 
export PATH=//opt/local/bin:/opt/local/sbin://usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/opt/local/bin:/opt/local/sbin:/Users/admin/.rvm/gems/ruby-1.9.3-p392/bin:/Users/admin/.rvm/gems/[email protected]/bin:/Users/admin/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/admin/.rvm/bin:/usr/local/mysql/bin:/Users/admin/.rvm/bin 

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting 
+9

आरवीएम रीलोड का प्रयास करें। फिर मणि अनइंस्टॉल करें sqlite3 और मणि स्थापित sqlite3 –

+0

omfg !!! इसने काम कर दिया!!!! बहुत बहुत धन्यवाद शॉन। यदि संभव हो तो आप समझा सकते हैं कि यह क्यों काम करता है? –

+1

आरवीएम रीलोड आपको 1/2 1.8.7/1.9.3 राज्य से बाहर निकाल दिया (फ्रेडरिक चेंग का जवाब देखें)। मुझे यकीन नहीं था कि क्या यह sqlite3 मणि स्थापना को दूषित कर दिया गया है, इसलिए मैंने इसे अभी इंस्टॉल किया था (यह आपको त्रुटियों को दे रहा था।) –

उत्तर

8

आप का उपयोग करते हैं rvm आप इसे $ पथ के बजाय खुद ही कर रही करने के लिए अपने पथ जोड़ने चाहिए। जैसा कि है, ऐसा लगता है कि आप आरवीएम का उपयोग कर आधे हैं: आप आरवीएम स्थापित रूबी के लिए स्थापित रत्न उठा रहे हैं, लेकिन चूंकि आरवीएम रूबी पथ ruby चल रहे $ PATH के अंत में हैं, एक रूबी स्थापित कर रहा है किसी अन्य विधि

(शायद एक प्रणाली एक प्रदान की गई) नतीजतन आप रूबी 1.8.7 एक विस्तार रूबी 1.9.3 के लिए संकलित है, जो

13

के इसी तरह त्रुटियों से काम नहीं करता लोड करने की कोशिश मिल गया है फॉर्म:

Symbol not found: {some-symbol} 
Referenced from: /path/to/some/file.bundle 
Expected in: flat namespace 

बहुत सारे रत्नों के लिए फसल लग रहा है।

अंतर्निहित समस्या एक असंगत सी एक्सटेंशन लाइब्रेरी (उपर्युक्त मामले में, sqlite3_native.bundle) प्रतीत होती है। ऐसा लगता है कि किसी भी कारण से, मणि रूबी के पुराने संस्करण के लिए स्थापित किया गया था, और वर्तमान रूबी संस्करण में निर्यात सी विधि नहीं है जो एक्सटेंशन लाइब्रेरी की तलाश में है।

वहाँ हल करने के लिए इस

  • स्थापना रद्द & पैकेज को पुनर्स्थापित (जैसा कि ऊपर शॉन Balestracci की टिप्पणी में बताया) 2 तरीके हैं।उपरोक्त मामले में, हम अनुमान लगा सकते हैं कि पैकेज sqlite3 है:

    gem uninstall {package}; gem install {package}

या (कम वरीय, लेकिन उपयोगी हो सकता है इसके बाद के संस्करण अगर विधि किसी कारण से विफल रहता है):

  • बंडल फ़ाइल को निकालें और पैकेज को पुनर्स्थापित करें। त्रुटि संदेश को देखते हुए: से संदर्भित: /Users/admin/.rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.bundle, हमें बस इसकी आवश्यकता है:

    rm {path-to-bundle-file}; gem install {package}

+1

बंडल फ़ाइल को हटा रहा है, और पैकेज को दोबारा स्थापित करने में मेरी मदद की। बहुत बहुत धन्यवाद! – levelone

+0

बाहरी मणि (रत्न में पथ) मैं उपयोग कर रहा था रूबी के एक अलग संस्करण के साथ संकलित किया गया था। इससे मुझे एहसास हुआ। –

1

सी संकलक बदलने मेरे लिए काम किया। मुझे gpgme मणि के बारे में इन त्रुटियों में से एक प्राप्त हुआ। मेरी जीसीसी बाइनरी जीसीसी -4.9.2 की स्थापना की ओर इशारा कर रही थी जिसे मैंने स्थापित किया था। मैंने इसे अपने मैक ओएस 10.10 (योसमेट) पर देशी क्लैंग कंपाइलर का उपयोग करने के लिए बदल दिया, और रेल सर्वर ने अनइंस्टॉल करने और मणि को फिर से स्थापित करने के बाद ठीक काम किया।

1

जब मैं rails server चलाने की कोशिश करता हूं तो मुझे उस त्रुटि का सामना करना पड़ता है, लेकिन जब मैं bundle exec rails server चलाता हूं तो कोई त्रुटि नहीं होती है।

0

यह मेरी रूबी स्थापना के साथ एक मुद्दा साबित हुआ और वास्तविक पृष्ठ नहीं। मैंने इसे हल करने के लिए क्या किया:

मैं आरवीएम का उपयोग कर रहा हूं। तो सबसे पहले मैं 2.2 2.1.1 से रूबी अद्यतन:

rvm install 2.2 
rvm use 2.2 

अब आप अपने सभी रत्नों को पुन: स्थापित करने के लिए है:

gem install bundler 
bundle install 

अगला अपने nginx.conf अद्यतन:

passenger_root /usr/local/opt/passenger/libexec/src/ruby_supportlib/phusion_passenger/locations.ini; 
    passenger_ruby /Users/admin/.rvm/gems/ruby-2.2.4/wrappers/ruby; 

इनके लिए आपके मान अलग हो सकते हैं।

फिर Nginx को पुनरारंभ करें। त्रुटि चली गई

संबंधित मुद्दे