Vagrant Berkshelf 在您的 PATH 中找不到 'berks' 可执行文件。当 运行 'vagrant up'

Vagrant Berkshelf could not find the 'berks' executable in your PATH. When running 'vagrant up'

$ vagrant up
Bringing machine 'district' up with 'virtualbox' provider...
Vagrant Berkshelf could not find the 'berks' executable in your PATH.

Please download and install the latest version of the ChefDK from:

    https://downloads.getchef.com/chef-dk

and follow the installation instructions. Do not forget to add the ChefDK to
your PATH.

这是我当前的 Vgrantfile:

$ cat Vagrantfile
# vi: set ft=ruby :

    Vagrant.configure('2') do |config|
      config.vm.define 'district' do |app|
        app.vm.box = 'ubuntu/trusty64'

        app.vm.provider 'virtualbox' do |v|
          v.memory = 1024
          v.name = 'district'
        end

        app.ssh.forward_agent = true
        app.vm.network :forwarded_port, guest: 4567, host: 4567

        app.vm.synced_folder './', '/home/vagrant/WhatsMyDistrict'

        app.berkshelf.enabled = true

        app.vm.provision :chef_solo do |chef|
          chef.log_level = :debug
          chef.custom_config_path = 'chef_solo.config'
          chef.run_list = ['whatsmydistrict::default']
        end
      end
    end

确保您已将 /opt/chefdk/bin 添加到您的 $PATH

建议将它放在任何 ruby 路径位置之前 - 前置是确保这一点的最简单方法。

export PATH=/opt/chefdk/bin:$PATH

对于 Windows 用户,ChefDK 安装在 C:\opscode\chefdk\bin 中,如 here 所述。

所以你必须改写这个命令行: export PATH=/c/opscode/chefdk/bin:$PATH.

您也可以按照这些 steps 添加路径 C:\opscode\chefdk\bin。您可能需要重新启动计算机才能应用更改。