Installing deploy dependencies
Fetching: multipart-post-2.1.1.gem (100%)
Successfully installed multipart-post-2.1.1
Fetching: faraday-0.15.4.gem (100%)
Successfully installed faraday-0.15.4
Fetching: public_suffix-3.1.0.gem (100%)
ERROR: Error installing dpl-pages:
public_suffix requires Ruby version >= 2.3.
/home/travis/.rvm/rubies/ruby-2.2.7/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- dpl/provider/pages (LoadError)
from /home/travis/.rvm/rubies/ruby-2.2.7/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/travis/.rvm/gems/ruby-2.2.7/gems/dpl-1.10.8/lib/dpl/provider.rb:93:in `rescue in block in new'
from /home/travis/.rvm/gems/ruby-2.2.7/gems/dpl-1.10.8/lib/dpl/provider.rb:68:in `block in new'
from /home/travis/.rvm/gems/ruby-2.2.7/gems/dpl-1.10.8/lib/dpl/cli.rb:41:in `fold'
from /home/travis/.rvm/gems/ruby-2.2.7/gems/dpl-1.10.8/lib/dpl/provider.rb:67:in `new'
from /home/travis/.rvm/gems/ruby-2.2.7/gems/dpl-1.10.8/lib/dpl/cli.rb:31:in `run'
from /home/travis/.rvm/gems/ruby-2.2.7/gems/dpl-1.10.8/lib/dpl/cli.rb:7:in `run'
from /home/travis/.rvm/gems/ruby-2.2.7/gems/dpl-1.10.8/bin/dpl:5:in `<top (required)>'
from /home/travis/.rvm/gems/ruby-2.2.7/bin/dpl:22:in `load'
from /home/travis/.rvm/gems/ruby-2.2.7/bin/dpl:22:in `<main>'
failed to deploy
Need some help on this
I get a similar error about an old Ruby version from the Github Pages provider. Probably the same core issue:
1.70s$ rvm $(travis_internal_ruby) --fuzzy do ruby -S gem install dpl
Fetching: dpl-1.10.8.gem (100%)
Successfully installed dpl-1.10.8
1 gem installed
dpl.1
Installing deploy dependencies
Fetching: multipart-post-2.1.1.gem (100%)
Successfully installed multipart-post-2.1.1
Fetching: faraday-0.15.4.gem (100%)
Successfully installed faraday-0.15.4
Fetching: public_suffix-3.1.0.gem (100%)
ERROR: Error installing dpl-pages:
The last version of public_suffix (>= 2.0.2, < 4.0) to support your Ruby & RubyGems was 3.0.3. Try installing it with `gem install public_suffix -v 3.0.3` and then running the current command again
public_suffix requires Ruby version >= 2.3. The current ruby version is 2.2.0.
/home/travis/.rvm/rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- dpl/provider/pages (LoadError)
from /home/travis/.rvm/rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/provider.rb:93:in `rescue in block in new'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/provider.rb:68:in `block in new'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/cli.rb:41:in `fold'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/provider.rb:67:in `new'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/cli.rb:31:in `run'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/cli.rb:7:in `run'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/bin/dpl:5:in `<top (required)>'
from /home/travis/.rvm/gems/ruby-2.2.6/bin/dpl:23:in `load'
from /home/travis/.rvm/gems/ruby-2.2.6/bin/dpl:23:in `<main>'
failed to deploy
I'm also getting the same error above with the GitHub Pages deployment provider. No changes to deployment configuration or build environment.
Installing deploy dependencies
Fetching: multipart-post-2.1.1.gem (100%)
Successfully installed multipart-post-2.1.1
Fetching: faraday-0.15.4.gem (100%)
Successfully installed faraday-0.15.4
Fetching: public_suffix-3.1.0.gem (100%)
ERROR: Error installing dpl-pages:
The last version of public_suffix (>= 2.0.2, < 4.0) to support your Ruby & RubyGems was 3.0.3. Try installing it with `gem install public_suffix -v 3.0.3` and then running the current command again
public_suffix requires Ruby version >= 2.3. The current ruby version is 2.2.0.
/home/travis/.rvm/rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- dpl/provider/pages (LoadError)
from /home/travis/.rvm/rubies/ruby-2.2.6/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/provider.rb:93:in `rescue in block in new'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/provider.rb:68:in `block in new'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/cli.rb:41:in `fold'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/provider.rb:67:in `new'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/cli.rb:31:in `run'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/lib/dpl/cli.rb:7:in `run'
from /home/travis/.rvm/gems/ruby-2.2.6/gems/dpl-1.10.8/bin/dpl:5:in `<top (required)>'
from /home/travis/.rvm/gems/ruby-2.2.6/bin/dpl:23:in `load'
from /home/travis/.rvm/gems/ruby-2.2.6/bin/dpl:23:in `<main>'
failed to deploy
@amfred @tay1orjones We've released 1.10.9 to address this problem. Please try again.
Can we know why was this broken - Given we lost a day for this
Sure. dpl-pages has a indirect dependency on public_suffix. https://rubygems.org/gems/dpl-pages/versions/1.10.8 → https://rubygems.org/gems/octokit (~> 4.6.2) → https://rubygems.org/gems/sawyer (>= 0.5.3, ~> 0.8.0) → https://rubygems.org/gems/addressable (> 2.3.5) → https://rubygems.org/gems/public_suffix (>= 2.0.2, < 4.0).
public_suffix released a new version 3.1.0 yesterday, which bumped the required Ruby runtime to 2.3 (from 2.2 with https://rubygems.org/gems/public_suffix/versions/3.0.3).
This broke our deployment, which runs with Ruby 2.2 for compatibility reasons.
We fixed this by pinning public_suffix to ~> 3.0 for the dpl-pages gem.
But why are we automatically pulling the latest version for public-suffix if it had such dependices we would have locked to version
Our build images do not have deployment tools pre-installed because they tend to get outdated quickly, compared to the build images. This naturally engenders the tension with unexpected changes in dependencies.
This resolved our problem; thanks.