【问题标题】:Strange behaviour of Vagrant Up commandVagrant Up 命令的奇怪行为
【发布时间】:2022-01-05 05:58:37
【问题描述】:

每当我运行 Vagrant 时,我都会收到以下错误。

以下是我的流浪档案

default_box = "generic/opensuse42"

Vagrant.configure("2") do |config|

  config.vm.define "master" do |master|
    master.vm.box = default_box
    master.vm.box_version = "v3.4.4"
    master.vm.hostname = "master"
    master.vm.network 'private_network', ip: "192.168.0.200",  virtualbox__intnet: true
    master.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh", disabled: true
    master.vm.network "forwarded_port", guest: 22, host: 2000 # Master Node SSH
    master.vm.network "forwarded_port", guest: 6443, host: 6443 # API Access
    for p in 30000..30100 # expose NodePort IP's
      master.vm.network "forwarded_port", guest: p, host: p, protocol: "tcp"
      end
    master.vm.provider "virtualbox" do |v|
      v.memory = "3072"
      v.name = "master"
      end
    master.vm.provision "shell", inline: <<-SHELL
      sudo zypper refresh
      sudo zypper --non-interactive install bzip2
      sudo zypper --non-interactive install etcd
      sudo zypper --non-interactive install apparmor-parser
      curl -sfL https://get.k3s.io | sh -
    SHELL
  end

任何提示将不胜感激。

【问题讨论】:

    标签: ruby rubygems vagrant vagrantfile


    【解决方案1】:

    错误消息提供了您需要的信息:

    in 'parse': Illformed requirement ["v3.4.4"] (Gem::Requirement::BadRequirementError)
    

    它基本上表明您从 Vagrantfile 请求的 vm 版本存在问题:

    default_box = "generic/opensuse42"
    
    Vagrant.configure("2") do |config|
    
      config.vm.define "master" do |master|
        master.vm.box = default_box
        master.vm.box_version = "v3.4.4"
        master.vm.hostname = "master"
    

    问题是您使用了“v”来定义版本,无法解析为“config.vm.box_version”属性变量获得的值 - 它应该是:

    master.vm.box_version = "3.4.4"
    

    您可以随时从 Vagrant 网站仔细检查您的虚拟机配置,在您的情况下为 generic/opensuse42 - v3.4.4,它表明它应该是:

    Vagrant.configure("2") do |config|
      config.vm.box = "generic/opensuse42"
      config.vm.box_version = "3.4.4"
    end
    

    【讨论】:

      【解决方案2】:

      我发现generic/opensuse42 已过期,所以将框更改为opensuse/Leap-15.2.x86_64,解决了我的问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-29
        • 2015-03-28
        • 1970-01-01
        • 2012-04-05
        • 2023-03-17
        • 1970-01-01
        • 2012-06-21
        • 2015-12-07
        相关资源
        最近更新 更多