This question has been asked a couple of times on stackoverflow and other forums but I can't seem to get passed this error that I am getting. When I run capistrano production deploy
, I get this error as part of the deploy process.
cap production bundler:install 00:00 bundler:install 01 bundle install --path /var/local/blackduck_flock_rails/shared/bundle --without development test --deployme… 01 An error occurred while installing json (1.8.6), and Bundler cannot continue. 01 Make sure that `gem install json -v '1.8.6'` succeeds before bundling. (Backtrace restricted to imported tasks) cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as serv-deployer@oh-utility01.dc1.lan: bundle exit status: 5 bundle stdout: An error occurred while installing json (1.8.6), and Bundler cannot continue. Make sure that `gem install json -v '1.8.6'` succeeds before bundling. bundle stderr: Nothing written Tasks: TOP => bundler:install (See full trace by running task with --trace)
I've taken a look at my log/capistrano.log
file and here are the relevant contents that I was looking at to trouble shoot.
# Logfile created on 2017-05-03 14:42:16 -0400 by logger.rb/54072 INFO --------------------------------------------------------------------------- INFO START 2017-05-03 14:42:16 -0400 cap production bundler:install INFO --------------------------------------------------------------------------- DEBUG [ec1d281e] Running if test ! -d /var/local/blackduck_flock_rails/current; then echo "Directory does not exist '/var/local/blackduck_flock_rails/current'" 1>&2; false; fi as serv-deployer@oh-utility01.dc1.lan DEBUG [ec1d281e] Command: if test ! -d /var/local/blackduck_flock_rails/current; then echo "Directory does not exist '/var/local/blackduck_flock_rails/current'" 1>&2; false; fi DEBUG [ec1d281e] Finished in 0.328 seconds with exit status 0 (successful). DEBUG [4f633904] Running /usr/bin/env bundle check --path /var/local/blackduck_flock_rails/shared/bundle as serv-deployer@oh-utility01.dc1.lan DEBUG [4f633904] Command: cd /var/local/blackduck_flock_rails/current && /usr/bin/env bundle check --path /var/local/blackduck_flock_rails/shared/bundle DEBUG [4f633904] Warning: the running version of Bundler is older than the version that created the lockfile. We suggest you upgrade to the latest version of Bundler by running `gem install bundler`. DEBUG [4f633904] The following gems are missing * json (1.8.6) * tzinfo (1.2.2) * activesupport (4.2.6) etc. etc.......... DEBUG [4f633904] * uglifier (3.0.4) DEBUG [4f633904] Install missing gems with `bundle install` DEBUG [4f633904] Finished in 0.179 seconds with exit status 1 (failed). INFO [6c99e662] Running /usr/bin/env bundle install --path /var/local/blackduck_flock_rails/shared/bundle --without development test --deployment --quiet as serv-deployer@oh-utility01.dc1.lan DEBUG [6c99e662] Command: cd /var/local/blackduck_flock_rails/current && /usr/bin/env bundle install --path /var/local/blackduck_flock_rails/shared/bundle --without development test --deployment --quiet DEBUG [6c99e662] An error occurred while installing json (1.8.6), and Bundler cannot continue. Make sure that `gem install json -v '1.8.6'` succeeds before bundling.
So the first thing to note. The log is telling me that the running version of bundler is out of date and that I should install the newest one. Here is what I don't understand though. On my developing machine, I have Bundler version 1.14.6
. On the targeting server that I am trying to deploy to, I also have Bundler version 1.14.6
. I've confirmed it on both machines and they are indeed the same. Second, I have the same ruby versions for both developing machine and target machine. The ruby version is 2.2.5
.
Second, when I run gem list
on the target server, I can see that json 1.8.6
is installed.
json (1.8.3, 1.8.1)
What gives?
Finally, the problem has to be in this directory on the target machine /var/local/blackduck_flock_rails/shared/bundle
. Inside the bundle
directory, I have a ruby
folder that has 1.9.1
and 2.2.0
. Could this be the source of the problem. I'm stumped on this one and it seems that questions like these always relate to something specific on someone's machine that won't necessarily be applied. Help would be greatly appreciated.
1 Answers
Answers 1
The most probable cause is you're missing some system dependencies that capistrano cannot install.
Ssh to your server and try installing sudo apt-get install libgmp3-dev
If it doesn't fix the problem, ssh again and run the gem install json -v '1.8.6'
as it tells you and post the error message you get from it here.
0 comments:
Post a Comment