我已经看到了这个错误,但我发现的解决方案都没有帮助解决问题。我正在Mac上本地开发一个rails应用程序,并在DigitalOcean上设置了一个Droplet来推送应用程序。我的Droplet正在运行Ubuntu 14,我正在使用Git post-receive hook进行部署。这是钩子:
public boolean containsDot(JTextArea answerField){
return answerField.getText().contains(".");
}
这是我推送时得到的输出:
#!/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
我根本不理解这一点,因为我已经安装了ruby 2.2.2并使用RVM选择它。当我使用ssh登录到Ubuntu机器时,我没有在运行的所有捆绑器上遇到任何错误。然而,当我使用我的钩子时,这就是它的作用。我已经和它斗争了好几天了。非常感谢任何帮助。
只是一些额外的信息:
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
编辑:按请求发布更多数据
的Gemfile
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 <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [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/ruby-2.2.2@global/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/ruby-2.2.2@global/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/ruby-2.2.2@global/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/ruby-2.2.2@global/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/ruby-2.2.2@global/bin:/home/xxx/.rvm/gems/ruby-2.2.2/bin:/home/xxx/.rvm/gems/ruby-2.2.2@global/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/ruby-2.2.2@global/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/ruby-2.2.2@global"
MY_RUBY_HOME: "/usr/share/rvm/rubies/ruby-2.2.2"
IRBRC: "/usr/share/rvm/rubies/ruby-2.2.2/.irbrc"
RUBYOPT: ""
gemset: ""
rvm list
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
〜/ .bashrc中
rvm rubies
* ruby-2.2.1 [ x86_64 ]
=> ruby-2.2.2 [ x86_64 ]
# => - current
# =* - current && default
# * - default
答案 0 :(得分:2)
在您的Droplet和Mac上,移除Gemfile.lock
,确保ruby -v
以版本2.2响应,并执行bundle update
。
这些步骤应该重置所有内容。如果他们不能工作,请执行spring stop
并重新安装bundler binstubs(如果您使用这些工具)。