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

3
$ 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.
  • 我按照指示下载了最新版本的ChefDK。
  • 我该如何在vagrant文件中添加Berkshelf路径?

这是我的当前Vagrantfile:

$ 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

展示你的 Vagrantfile - BMW
@BMW把帖子编辑为包含 Vagrantfile 的内容。 - aSilveira
2个回答

2
请确保已经将/opt/chefdk/bin添加到您的$PATH中。建议将其添加到任何ruby路径位置之前,最简单的方法是将其置于最前面。
export PATH=/opt/chefdk/bin:$PATH

对不起,我是个真正的新手,你能详细解释一下如何将某物添加到$PATH吗?对不起,我真的想学习这个,我可以阅读哪些内容以更熟悉这些东西?我只需要运行那个命令吗? - aSilveira
1
是的,要将其他目录添加到您的PATH中,请使用上面的“export PATH =”命令。 要永久添加到您的PATH,请查看此帖子。 有关PATH变量的更多信息,请阅读此内容。 - thomaswsdyer
使用 export PATH= 命令起作用了,我只需要将 /opt/chefdk/bin 部分替换为 chefdk 存储在我的系统中的位置即可。 - aSilveira

0

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

因此,您必须编写以下命令行: export PATH=/c/opscode/chefdk/bin:$PATH

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接