-
Notifications
You must be signed in to change notification settings - Fork 100
Error occurred: no implicit conversion of Proc into String #227
Comments
Same issue. Using Vagrant 1.6.5, Virtualbox 4.3.18, and OSX 10.10 |
@leeacto it would be very useful to have a Vagrantfile and some reproduction steps 😄 |
Here's a link to the error output |
@sethvargo I've been helping @leeacto try to troubleshoot this error since Friday - none of our own repos with Vagrantfiles are public, but we could reproduce the problem with the same repo as @oguzy was using above, so the gist Nick posted is just the output of |
@oguzy @leeacto @shanesveller It appears from the stacktrace that you are using a very old version of Vagrant Berkshelf. The latest version is in the 3.x series and this is using the 2.x series... |
@sethvargo We are currently not ready to treat I can understand not wanting to support old versions of this plugin. If the requirement on |
@shanesveller unfortunately we no longer support Berkshelf or Vagrant Berkshelf 2.x because it's nearly impossible to manage so many Ruby environments 😦. |
Understandable. Just to clarify: we do actually use Berkshelf 3.x just about everywhere, mostly via Bundler, so it was just the Vagrant plugin that we pinned to an older release. |
What's the hesitancy to ask your devs to install ChefDK? We put it together to make lives easier for devs. It's more work for them to install a sane Ruby version and then all of the gems. |
@reset We are predominantly a Ruby shop, so most of our developers already have sane Ruby environments via rvm/rbenv, and are comfortable installing gems. We essentially want them to be able to clone a repo and run |
@shanesveller disk space is cheap, man. Make an install via curl script that downloads the necessary stuff and bootstraps their machines. It's even easier then asking somebody to clone a repo. I'm going to close this issue out since it's from an old version of Berkshelf |
I realize this issue is closed but I ran into the same problem and have a little workaround that you can drop in your Vagrantfile to get you operational until you move to ChefDK or find another solution. The actual source of this issue arises from a change to It looks like two of these default values are being used in v2.0.1 of Here's what I used to do just that: if Berkshelf::Vagrant::VERSION == "2.0.1" && config.berkshelf.enabled
%w[node_name client_key].each do |attribute|
default = config.berkshelf.send(attribute)
next unless default.respond_to?(:call)
config.berkshelf.send("#{attribute}=", default.call)
end
end @shanesveller, that gets you Strings where you expect them. Obviously, if you need to force evaluate more attributes you could just add them to the list. I've dug around in As I was writing this I did another search of the issues and saw that #228 is the same. Let me know if you need anything more from me or if I can help in any way. I hope this helps. |
@elskwid That worked for me. I'm new to this stuff, but I dropped in into a Vagrant file on someone else's project and it worked. |
I've also run into this issue. The snippet a few comments up works. I have to make the if condition a tautology, though. |
I am trying to up a test this: https://github.com/stackforge/monasca-vagrant
Using Ubuntu 14.04, Vagrant 1.6.5 and Virtualbox 4.3.10
vagrant up gives the below error:
[@sethvargo edit], moved stacktrace to gist: https://gist.github.com/sethvargo/8892ef246da6f45785ae
The text was updated successfully, but these errors were encountered: