热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不能在Ubuntu中安装流浪插件-Can'tinstallvagrantpluginsinUbuntu

Iwastryingtoinstallvagrantpluginvbguest,butgotfollowingerrorsinterminal:我在尝试安装流浪者插件vbg

I was trying to install vagrant plugin vbguest, but got following errors in terminal:

我在尝试安装流浪者插件vbguest,但是在终端有以下错误:

$ vagrant plugin install vbguest
Installing the 'vbguest' plugin. This can take a few minutes...
/usr/lib/ruby/2.3.0/rubygems/specification.rb:946:in `all=': undefined method `group_by' for nil:NilClass (NoMethodError)
    from /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb:275:in `with_isolated_gem'
    from /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb:231:in `internal_install'
    from /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb:102:in `install'
    from /usr/lib/ruby/vendor_ruby/vagrant/plugin/manager.rb:62:in `block in install_plugin'
    from /usr/lib/ruby/vendor_ruby/vagrant/plugin/manager.rb:72:in `install_plugin'
    from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:37:in `call'
    from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
    from /usr/lib/ruby/vendor_ruby/vagrant/action/builder.rb:116:in `call'
    from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:66:in `block in run'
    from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy'
    from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:66:in `run'
    from /usr/share/vagrant/plugins/commands/plugin/command/base.rb:14:in `action'
    from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:32:in `block in execute'
    from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:31:in `each'
    from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:31:in `execute'
    from /usr/share/vagrant/plugins/commands/plugin/command/root.rb:56:in `execute'
    from /usr/lib/ruby/vendor_ruby/vagrant/cli.rb:42:in `execute'
    from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:268:in `cli'
    from /usr/bin/vagrant:173:in `
'

I am using Virtual Box 5.0.18_Ubuntu r106667 and ruby 2.3.0p0. I also faced the same problem trying to install sahara plugin. How can I fix it?

我使用的是Virtual Box 5.0.18_Ubuntu r106667和ruby 2.3.0p0。我也遇到了同样的问题,试图安装撒哈拉的插件。我怎样才能修好它呢?

5 个解决方案

#1


62  

Yes, there is an issue: https://github.com/mitchellh/vagrant/issues/7073 in Vagrant 1.8.1

是的,有一个问题:https://github.com/mitchellh/vagrant/issues/7073 in Vagrant 1.8.1

PR with fix: https://github.com/mitchellh/vagrant/pull/7198

公关与修复:https://github.com/mitchellh/vagrant/pull/7198

The fix should be released in Vagrant 1.8.2.

修正应该在Vagrant 1.8.2中释放。


But until that you can patch it manually.

但在此之前,您可以手动修补它。

Here are the steps to fix Vagrant 1.8.1 under Ubuntu 16.04 which has ruby 2.3.0.

下面是在Ubuntu 16.04下修复流浪1.8.1的步骤,它有ruby 2.3.0。

1.) Create file vagrant-plugin.patch with the following contents:

1)。vagrant-plugin创建文件。贴片内容如下:

---
 lib/vagrant/bundler.rb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb
index 5a5c185..c4a3837 100644
--- a/lib/vagrant/bundler.rb
+++ b/lib/vagrant/bundler.rb
@@ -272,7 +272,6 @@ module Vagrant

       # Reset the all specs override that Bundler does
       old_all = Gem::Specification._all
-      Gem::Specification.all = nil

       # /etc/gemrc and so on.
       old_cOnfig= nil
@@ -286,6 +285,8 @@ module Vagrant
       end
       Gem.cOnfiguration= NilGemConfig.new

+      Gem::Specification.reset
+
       # Use a silent UI so that we have no output
       Gem::DefaultUserInteraction.use_ui(Gem::SilentUI.new) do
     return yield

2.) Apply patch:

2)。应用补丁:

sudo patch --directory /usr/lib/ruby/vendor_ruby/vagrant 

which fixes /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb.

修复/usr/lib/ruby/vendor_ruby /漂泊者/ bundler.rb。

#2


16  

Instead of patching, I fixed the issue using vagrant v1.8.0 in ubuntu 16.04:

我没有使用补丁,而是在ubuntu 16.04中使用流浪v1.8.0解决了这个问题:

  • Download package: wget https://releases.hashicorp.com/vagrant/1.8.0/vagrant_1.8.0_x86_64.deb
  • 包:下载wget https://releases.hashicorp.com/vagrant/1.8.0/vagrant_1.8.0_x86_64.deb
  • sudo dpkg -i vagrant_1.8.0_x86_64.deb
  • sudo dpkg - vagrant_1.8.0_x86_64.deb
  • vagrant plugin install vagrant-vbguest
  • 流浪的插件安装vagrant-vbguest

Keep an eye and upgrade to 1.8.2 when it's released... Enjoy!

当它被释放时,保持一只眼睛并升级到1.8.2。享受吧!

#3


7  

This is fixed in the recent version of Vagrant, so please upgrade it.

这是修正在最近版本的流浪者,所以请升级它。

If you can't, run this command to fix the problem:

如果不能,请运行此命令来修复问题:

sudo sed -i'' "s/Specification.all = nil/Specification.reset/" /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb

Note: The sudo permission is required or run without as a root.

注意:需要sudo权限,或者不作为根用户运行。

This will patch your bundler.rb file as per PR (#7198).

这将修补你的bundler。rb文件按照PR(#7198)。

You should also upgrade your bundler to at least 1.12.5 as per this vagrant PR (#7404):

你也应该升级你的bundler至少1.12.5,根据这个流浪PR (#7404):

sudo gem install bundler --version ">= 1.12.5"

#4


2  

I've same error with another plugin: vagrant-triggers

我在另一个插件上犯了同样的错误:迷走触发

I've found a patch to apply on /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb.

我找到了一个应用于/usr/lib/ruby/vendor_ruby/vagrant/bundler.rb的补丁。

but so, vagrant enter in a big loop an try infinitely to install the package.

但是,流浪汉进入一个大循环尝试无限地安装包。

#5


0  

Because nobody seems to have mentioned it so far, here's the here's the bug report for Ubuntu 16.04: https://bugs.launchpad.net/ubuntu/+source/vagrant/+bug/1562696

因为到目前为止似乎没有人提到它,下面是Ubuntu 16.04的bug报告:https://bugs.launchpad.net/ubuntu/+source/vagrant/+bug/1562696

As of now, nobody backported the patch for 16.04, so it seems to have to either patch manually or download a fixed package.

到目前为止,还没有人支持16.04版本的补丁,所以它似乎必须手动或者下载一个固定的包。


推荐阅读
  • 今天我开始学习Flutter,并在Android Studio 3.5.3中创建了一个新的Flutter项目。然而,在首次尝试运行时遇到了问题,Gradle任务 `assembleDebug` 执行失败,退出状态码为1。经过初步排查,发现可能是由于依赖项配置不当或Gradle版本不兼容导致的。为了解决这个问题,我计划检查项目的 `build.gradle` 文件,确保所有依赖项和插件版本都符合要求,并尝试更新Gradle版本。此外,还将验证环境变量配置是否正确,以确保开发环境的稳定性。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • Go语言实现文件读取与终端输出
    本文介绍如何使用Go语言编写程序,通过命令行参数指定文件路径,读取文件内容并将其输出到控制台。代码示例中包含了错误处理和资源管理的最佳实践。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 本文深入探讨了如何利用Maven高效管理项目中的外部依赖库。通过介绍Maven的官方依赖搜索地址(),详细讲解了依赖库的添加、版本管理和冲突解决等关键操作。此外,还提供了实用的配置示例和最佳实践,帮助开发者优化项目构建流程,提高开发效率。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
author-avatar
迷人的哈喽柯柯_458
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有