Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Bundle package has space in directory name causing exception #3581

Closed
ultiweb-zz opened this issue Apr 20, 2015 · 3 comments
Closed

Bundle package has space in directory name causing exception #3581

ultiweb-zz opened this issue Apr 20, 2015 · 3 comments

Comments

@ultiweb-zz
Copy link

  • What did you do? bundle package
  • What did you expect to happen? dependencies downloaded to correct place
  • What happened instead? crash

Error details

Errno::EPROTO: Protocol error @ dir_s_mkdir - /opt/cli/vendor/bundle /ruby
/home/vagrant/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:252:in `mkdir'
/home/vagrant/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:252:in `fu_mkdir'
/home/vagrant/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:226:in `block (2 levels) in mkdir_p'
/home/vagrant/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:224:in `reverse_each'
/home/vagrant/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:224:in `block in mkdir_p'
/home/vagrant/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:210:in `each'
/home/vagrant/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:210:in `mkdir_p'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler.rb:310:in `mkdir_p'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/installer.rb:332:in `create_bundle_path'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/installer.rb:54:in `run'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/installer.rb:18:in `install'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/cli/install.rb:80:in `run'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/cli/package.rb:32:in `install'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/cli/package.rb:16:in `run'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/cli.rb:258:in `package'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/cli.rb:10:in `start'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/bin/bundle:20:in `block in <top (required)>'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/lib/bundler/friendly_errors.rb:7:in `with_friendly_errors'
/home/vagrant/.rvm/gems/ruby-2.2.1/gems/bundler-1.9.4/bin/bundle:18:in `<top (required)>'
/home/vagrant/.rvm/gems/ruby-2.2.1/bin/bundle:23:in `load'
/home/vagrant/.rvm/gems/ruby-2.2.1/bin/bundle:23:in `<main>'
/home/vagrant/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
/home/vagrant/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'

Environment

Bundler   1.9.4
Rubygems  2.4.6
Ruby      2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
GEM_HOME  /opt/cli/vendor/bundle /ruby/2.2.0
GEM_PATH
RVM       1.26.11 (latest)
Git       1.9.1

Bundler settings

frozen
  Set for your local app (/opt/cli/.bundle/config): "'1' "
path
  Set for your local app (/opt/cli/.bundle/config): "vendor/bundle "
disable_shared_gems
  Set for your local app (/opt/cli/.bundle/config): "1"
cache_all
  Set for your local app (/opt/cli/.bundle/config): "true "
@ultiweb-zz
Copy link
Author

It looks like a space in the directory name but that may be /ruby after the path, not sure.
/opt/cli/vendor/bundle /ruby

@TimMoore
Copy link
Contributor

The path setting in /opt/cli/.bundle/config has a space in it. You can either edit that file, or run bundle install --path vendor/bundle to reset it.

@ultiweb-zz
Copy link
Author

Thanks!! That fixed one error. :)

homu added a commit that referenced this issue Feb 11, 2016
…pers-EPROTO, r=indirect

Raise new `Bundler::VirtualProtocolError` in response to `Errno::EPROTO`

- Related to #4163, #3932, and #3581

Ideally, a custom error and/or error message would be returned in these cases rather than just error out because of the uncaught `Errno::EPROTO`.

I'd like some feedback on what the appropriate error message should be however. The caveat is that it seems like a wide range of errors (possibly any error?) that occur in the presence of virtualization will raise this `Errno::EPROTO` error.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants