2017-09-29 56 views
1

我一直在试图安装并运行一个可以调出CentOS 7虚拟机的流浪实例。理想情况下,我将能够使用软件来配置虚拟机。流浪错误 - 未定义的方法`gsub!' for nil:NilClass(NoMethodError)

不幸的是我不断收到此错误每当我试图把无业游民了起来:

Installing additional modules ... 
vboxadd.sh: Starting the VirtualBox Guest Additions. 

Could not find the X.Org or XFree86 Window System, skipping. 
Redirecting to /bin/systemctl start vboxadd.service 
Redirecting to /bin/systemctl start vboxadd-service.service 
Unmounting Virtualbox Guest Additions ISO from: /mnt 
==> default: Checking for guest additions in VM... 
==> default: Forcing shutdown of VM... 
==> default: Destroying VM and associated drives... 
C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/util/platform.rb:115:in `cygwin_path': undefined method `gsub!' for nil:NilClass (NoMethodError) 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/synced_folders/rsync/helper.rb:54:in `rsync_single' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/synced_folders/rsync/synced_folder.rb:48:in `block in enable' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/synced_folders/rsync/synced_folder.rb:47:in `each' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/synced_folders/rsync/synced_folder.rb:47:in `enable' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/synced_folders.rb:93:in `block in call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/synced_folders.rb:90:in `each' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/synced_folders.rb:90:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/synced_folder_cleanup.rb:28:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/synced_folders/nfs/action_cleanup.rb:19:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/prepare_nfs_valid_ids.rb:12:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb:49:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/prepare_forwarded_port_collision_params.rb:30:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/env_set.rb:19:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/provision.rb:80:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:15:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/set_name.rb:50:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:95:in `block in finalize_action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builder.rb:116:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `block in run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/util/busy.rb:19:in `busy' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/call.rb:53:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:95:in `block in finalize_action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builder.rb:116:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `block in run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/util/busy.rb:19:in `busy' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/call.rb:53:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:95:in `block in finalize_action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builder.rb:116:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `block in run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/util/busy.rb:19:in `busy' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/call.rb:53:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/box_check_outdated.rb:78:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/config_validate.rb:25:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:95:in `block in finalize_action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/match_mac_address.rb:19:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/discard_state.rb:15:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/import.rb:74:in `import' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/import.rb:13:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb:17:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/prepare_clone.rb:15:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/customize.rb:40:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:95:in `block in finalize_action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builder.rb:116:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `block in run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/util/busy.rb:19:in `busy' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/call.rb:53:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/config_validate.rb:25:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:95:in `block in finalize_action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/handle_box.rb:56:in `call'  from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:95:in `block in finalize_action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builder.rb:116:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `block in run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/util/busy.rb:19:in `busy' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builtin/call.rb:53:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/warden.rb:34:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/builder.rb:116:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `block in run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/util/busy.rb:19:in `busy' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/action/runner.rb:66:in `run' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/machine.rb:227:in `action_raw' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/machine.rb:202:in `block in action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/environment.rb:631:in `lock' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/machine.rb:188:in `call' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/machine.rb:188:in `action' 
     from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.0/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run' 

C:\Users\tdias\Desktop\Vagrant> 

我已经试过卸载并重新安装,但并未奏效。我检查了提到的文件,发现这个:

# This takes any path and converts it from a Windows path to a 
    # Cygwin or msys style path. 
    # 
    # @param [String] path 
    # @return [String] 
    def cygwin_path(path) 
     begin 
     # We have to revert to the old env 
     # path here, otherwise it looks like 
     # msys2 ends up using the wrong cygpath 
     # binary and ends up with a `/cygdrive` 
     # when it doesn't exist in msys2 
     original_path_env = ENV['PATH'] 
     ENV['PATH'] = ENV['VAGRANT_OLD_ENV_PATH'] 
     cygpath = Vagrant::Util::Which.which("cygpath") 
     cygpath.gsub!("/", '\\') 
     process = Subprocess.execute(
      cygpath, "-u", "-a", path.to_s) 
     return process.stdout.chomp 
     rescue Errors::CommandUnavailableWindows => e 
     # Sometimes cygpath isn't available (msys). Instead, do what we 
     # can with bash tricks. 
     process = Subprocess.execute(
      "bash", 
      "--noprofile", 
      "--norc", 
      "-c", "cd #{Shellwords.escape(path)} && pwd") 
     return process.stdout.chomp 
     ensure 
     ENV['PATH'] = original_path_env 
     end 
    end 

有谁知道如何解决?

+0

它看起来像这个脚本无法找到cygwin。你有没有安装cygwin?如果是这样,你是否在bash shell中运行vagrant?这个问题可能是相关的:https://github.com/hashicorp/vagrant/issues/6788 –

+0

我没有安装cygwin,因为这是一个新鲜的Windows安装。安装它并再次尝试以相同结果结束 –

+0

你能提供你的vagrant文​​件吗?并且它是否发生在没有流浪的命令上?运行'vagrant status'只是为了看看你是否有错误或者报告你有错误的命令 –

回答

0

这条线是你的问题:

cygpath.gsub!("/", '\\') 

您正试图改变这一切“/”在你的字符串“\”,但没有“/”在你的文字,如果您使用gsub insted的gsub!,你不会得到这个错误。

+0

恐怕我在使用流浪汉的时候有点小气。我会怎么做? –

+0

这是'vagrant'库的一部分,不是OP代码库。 @TiagoDias不会改变这一点你的问题是配置驱动,而不是代码驱动。 – engineersmnky

+0

你知道配置错误在哪里吗? –

相关问题