9

मैंने इस त्रुटि को पूरे स्थान पर देखा है, लेकिन मुझे कोई भी समाधान नहीं मिला है इस मुद्दे को ठीक करने में मदद मिली है। मैं एक मैक पर स्थानीय रूप से एक रेल ऐप विकसित कर रहा हूं और ऐप को धक्का देने के लिए डिजिटलओअन पर एक बूंद स्थापित कर रहा हूं। मेरी बूंद उबंटू 14 चल रही है और मैं एक गिट पोस्ट-प्राप्त हुक का उपयोग कर तैनाती कर रहा हूं।रेल उत्पादन के लिए गिट पुश प्रतिक्रिया देता है आपका रूबी संस्करण 1.9.3 है, लेकिन आपकी जेमफ़ाइल 2.2.2 निर्दिष्ट है जब रूबी संस्करण 2.2.2

#!/bin/bash 

GIT_DIR=/home/xxx/yyy_production 
WORK_TREE=/home/xxx/yyy 
export XXX_DATABASE_USER='xxx' 
export XXX_DATABASE_PASSWORD='12345' 

export RAILS_ENV=production 
. ~/.bashrc 

while read oldrev newrev ref 
do 
    if [[ $ref =~ .*/master$ ]]; 
    then 
     echo "Master ref received. Deploying master branch to production..." 
     mkdir -p $WORK_TREE 
     git --work-tree=$WORK_TREE --git-dir=$GIT_DIR checkout -f 
     mkdir -p $WORK_TREE/shared/pids $WORK_TREE/shared/sockets $WORK_TREE/shared/log 

     # start deploy tasks 
     cd $WORK_TREE 
     bundle install 
     rake db:create 
     rake db:migrate 
     rake assets:precompile 
     sudo restart puma-manager 
     sudo service nginx restart 
     # end deploy tasks 
     echo "Git hooks deploy complete" 
    else 
     echo "Ref $ref successfully received. Doing nothing: only the master branch may be deployed on this server." 
    fi 
done 

यह आउटपुट मैं जब मैं धक्का है:: इस हुक है

Counting objects: 5, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (5/5), done. 
Writing objects: 100% (5/5), 444 bytes | 0 bytes/s, done. 
Total 5 (delta 4), reused 0 (delta 0) 
remote: Master ref received. Deploying master branch to production... 
remote: Your Ruby version is 1.9.3, but your Gemfile specified 2.2.2 
remote: rake aborted! 
remote: Bundler::RubyVersionMismatch: Your Ruby version is 1.9.3, but your Gemfile specified 2.2.2 

मैं इस सब पर समझ में नहीं आता, जैसा कि मैंने रूबी 2.2.2 स्थापित किया है और इसका उपयोग करने के लिए चयनित RVM। जब मैं ssh का उपयोग कर उबंटू मशीन पर लॉग ऑन करता हूं, तो मुझे सभी चल रहे बंडलर में कोई त्रुटि नहीं मिलती है। फिर भी जब मैं अपने हुक का उपयोग कर चलाता हूं तो यह वही होता है। मैं इसके साथ कई दिनों से लड़ रहा हूं। कोई भी मदद बहुत ही सराहनीय होगी।

बस कुछ अतिरिक्त जानकारी:

ruby -v 
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] 

rvm info 

ruby-2.2.2: 

    system: 
    uname:  "Linux mgots-app-01 3.13.0-68-generiC#111-Ubuntu SMP Fri Nov 6 18:17:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux" 
    system:  "ubuntu/14.04/x86_64" 
    bash:  "/bin/bash => GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)" 
    zsh:   " => not installed" 

    rvm: 
    version:  "rvm 1.26.11 (master) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]" 
    updated:  "21 hours 6 minutes 30 seconds ago" 
    path:   "/usr/share/rvm" 

    ruby: 
    interpreter: "ruby" 
    version:  "2.2.2p95" 
    date:   "2015-04-13" 
    platform:  "x86_64-linux" 
    patchlevel: "2015-04-13 revision 50295" 
    full_version: "ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]" 

    homes: 
    gem:   "/home/xxx/.rvm/gems/ruby-2.2.2" 
    ruby:   "/usr/share/rvm/rubies/ruby-2.2.2" 

    binaries: 
    ruby:   "/usr/share/rvm/rubies/ruby-2.2.2/bin/ruby" 
    irb:   "/usr/share/rvm/rubies/ruby-2.2.2/bin/irb" 
    gem:   "/usr/share/rvm/rubies/ruby-2.2.2/bin/gem" 
    rake:   "/usr/share/rvm/rubies/ruby-2.2.2/bin/rake" 

    environment: 
    PATH:   "/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/[email protected]/bin:/usr/share/rvm/rubies/ruby-2.2.2/bin:/usr/share/rvm/bin:/home/carl/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/[email protected]/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/[email protected]/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/[email protected]/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/[email protected]/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/[email protected]/bin:/home/xxx/.rbenv/plugins/ruby-build/bin:/home/xxx/.rbenv/shims:/home/xxx/.rbenv/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/[email protected]/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 
    GEM_HOME:  "/home/xxx/.rvm/gems/ruby-2.2.2" 
    GEM_PATH:  "/home/xxx/.rvm/gems/ruby-2.2.2:/home/xxx/.rvm/gems/[email protected]" 
    MY_RUBY_HOME: "/usr/share/rvm/rubies/ruby-2.2.2" 
    IRBRC:  "/usr/share/rvm/rubies/ruby-2.2.2/.irbrc" 
    RUBYOPT:  "" 
    gemset:  "" 

संपादित: अनुरोध के अनुसार आगे डेटा पोस्टिंग

Gemfile

source 'https://rubygems.org' 
ruby "2.2.2" 

gem 'rails',        '4.2.2' 
gem 'pg' 
gem 'bootstrap-sass',    '3.3.5.1' 
gem 'sass-rails',     '~> 5.0' 
gem 'uglifier',       '>= 1.3.0' 
gem 'coffee-rails',     '~> 4.1.0' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder',       '~> 2.0' 
gem 'font-awesome-rails' 
gem 'sdoc',         '~> 0.4.0', group: :doc 
gem 'bcrypt', '~> 3.1.7' 
gem 'geocoder',       '1.2.12' 

group :development, :test do 
    gem 'byebug' 
    gem 'web-console',     '~> 2.0' 
    gem 'spring' 
end 

group :production do 
    gem 'puma' 
    gem 'therubyracer', platforms: :ruby 
end 

rvm सूची

rvm rubies 

* ruby-2.2.1 [ x86_64 ] 
=> ruby-2.2.2 [ x86_64 ] 

# => - current 
# =* - current && default 
# * - default 

~/.bashrc

# If not running interactively, don't do anything 
case $- in 
    *i*) ;; 
     *) return;; 
esac 

# don't put duplicate lines or lines starting with space in the history. 
# See bash(1) for more options 
if [[ -n "$PS1" ]]; then 
    # Some code here... e.g. 
    export HISTCONTROL=ignoreboth 
fi 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session 

उत्तर

2

दोनों अपने छोटी बूंद और अपने मैक पर, Gemfile.lock निकालने के लिए, 2.2 संस्करण के साथ यकीन है कि ruby -v प्रतिक्रिया करते हैं, और एक bundle update है।

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

गुड लक!

+0

मैं binstubs का उपयोग नहीं कर रहा हूं। मैंने वसंत पर एक स्टॉप चलाया, क्योंकि यह मणि स्थापित किया गया था, लेकिन मुझे नहीं लगता कि मैं इसका उपयोग कर रहा हूं। यह सब कहा गया था कि "वसंत नहीं चल रहा है" इसलिए मुझे नहीं लगता कि यह रुकने से पहले चल रहा था। मैंने दोनों प्रणालियों पर .lock फ़ाइल को भी हटा दिया, बंडलर को पुनर्स्थापित किया और बंडल अपडेट चलाया - उसी परिणाम – unclesol

+0

क्या आप कृपया 'जेफफाइल' की सामग्री को जोड़ सकते हैं और साथ ही 'आरवीएम सूची' चलाने के नतीजे भी जोड़ सकते हैं? –

+1

मैंने उन्हें जोड़ा है - धन्यवाद! – unclesol

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