Vagrant 安装指南:从零开始搭建开发环境

news2025/4/16 1:54:04

Vagrant 是一款强大的虚拟化工具,能够帮助开发者快速创建和管理轻量级的、可复制的开发环境。它通过与 VirtualBox、VMware 或 Hyper-V 等虚拟机提供程序结合使用,让你在本地轻松运行虚拟机。本文将详细介绍如何在 Windows、macOS 和 Linux 系统上安装 Vagrant,并提供一些实用建议。

一、什么是 Vagrant?

Vagrant 由 HashiCorp 开发,旨在简化虚拟机配置和管理。通过一个简单的配置文件(Vagrantfile),你可以定义虚拟机的操作系统、网络设置和软件安装步骤。它特别适合团队协作,确保每个开发者的环境一致,避免“在我机器上能跑”的问题。

二、安装前的准备

在安装 Vagrant 之前,需要满足以下条件:

系统要求

  • 操作系统:Windows 10/11、macOS(10.15 或更高版本)、Linux(主流发行版如 Ubuntu、CentOS 等)。
  • 硬件:至少 4GB 内存(建议 8GB 或以上),足够的磁盘空间(取决于虚拟机镜像大小)。
  • 虚拟化支持:确保 CPU 支持虚拟化技术(如 Intel VT-x 或 AMD-V),并在 BIOS 中启用。

依赖软件

Vagrant 需要一个虚拟机提供程序,以下是常见的选项:

  • VirtualBox(推荐,免费):Vagrant 默认支持,安装简单。
  • VMwareHyper-V(可选):需要额外插件和许可。

建议先安装 VirtualBox,因为它是免费且与 Vagrant 兼容性最好的选择。

安装 VirtualBox
  1. 访问 VirtualBox 官网。
    在这里插入图片描述

  2. 下载与你的操作系统匹配的版本(Windows、macOS 或 Linux)。
    在这里插入图片描述

  3. 运行安装程序,按照提示完成安装。

三、安装 Vagrant

以下是不同操作系统的安装步骤,当前最新版本以 Vagrant 2.4.3(截至 2025 年 3 月 28 日)为例。

1. 在 Windows 上安装

  1. 下载安装包

    • 访问 Vagrant 官网。
    • 点击“Windows”下的下载链接,选择 64 位版本(大多数现代系统适用)。
  2. 运行安装程序

    • 双击下载的 .exe 文件(如 vagrant_2.4.3_windows_amd64.exe)。
    • 在这里插入图片描述
    • 按照向导点击“Next”,选择安装路径(默认即可),然后点击“Install”。
    • 在这里插入图片描述
  3. 验证安装

    • 打开命令提示符(按 Win + R,输入 cmd,回车)。
    • 输入以下命令:
      vagrant --version
      
    • 如果返回类似 Vagrant 2.4.3,说明安装成功。
    • 在这里插入图片描述

2. 在 macOS 上安装

  1. 下载安装包
    • 访问 Vagrant 官网。
    • 点击“macOS”下的下载链接,获取 .dmg 文件。
  2. 安装
    • 双击 .dmg 文件,打开安装窗口。
    • 将 Vagrant 拖到“应用程序”文件夹中。
  3. 验证安装
    • 打开终端(Terminal)。
    • 输入:
      vagrant --version
      
    • 看到版本号(如 Vagrant 2.4.3)即表示成功。
使用 Homebrew 安装(可选)

如果你使用 Homebrew,可以更方便地安装和更新 Vagrant:

brew install vagrant

3. 在 Linux 上安装(以 Ubuntu 为例)

  1. 更新包列表
    • 打开终端,运行:
      sudo apt update
      
  2. 下载并安装 Vagrant
    • 访问官网下载页面,获取 .deb 文件,或者使用命令行:
      wget -O vagrant.deb https://releases.hashicorp.com/vagrant/2.4.3/vagrant_2.4.3_linux_amd64.deb
      sudo dpkg -i vagrant.deb
      
    • 如果遇到依赖问题,运行:
      sudo apt-get install -f
      
  3. 验证安装
    • 输入:
      vagrant --version
      
    • 确认版本号输出。
CentOS/RHEL 系统

使用 yumdnf

sudo yum install -y https://releases.hashicorp.com/vagrant/2.4.3/vagrant_2.4.3_x86_64.rpm

四、初次使用 Vagrant

安装完成后,可以通过以下步骤测试 Vagrant:

  1. 创建项目目录
    mkdir vagrant-test && cd vagrant-test
    
  2. 初始化虚拟机
    • 运行以下命令,基于 Ubuntu 20.04 创建一个虚拟机:
      vagrant init ubuntu/focal64
      
    • 这会生成一个 Vagrantfile 文件。
  3. 启动虚拟机
    vagrant up
    
    • Vagrant 会自动下载镜像并启动 VirtualBox 中的虚拟机。
  4. 登录虚拟机
    vagrant ssh
    
    • 你将进入虚拟机的命令行环境。
  5. 关闭并清理
    • 退出虚拟机:exit
    • 停止虚拟机:vagrant halt
    • 删除虚拟机:vagrant destroy

五、常见问题及解决方法

  1. “Vagrant 命令未找到”
    • 原因:环境变量未配置。
    • 解决:在 Windows 上重启命令提示符,或检查安装路径是否在 PATH 中;在 Linux/macOS 上运行 hash -r 或重启终端。
  2. VirtualBox 启动失败
    • 原因:虚拟化未启用或 Hyper-V 冲突。
    • 解决:进入 BIOS 启用 VT-x/AMD-V;在 Windows 上禁用 Hyper-V(bcdedit /set hypervisorlaunchtype off)。
  3. 下载镜像缓慢
    • 解决:手动下载 .box 文件并添加:
      vagrant box add ubuntu/focal64 /path/to/ubuntu-focal64.box
      

六、创建虚拟机

  1. 创建虚拟机
    打开cmd窗口,输入命令
vagrant init centos/7

在这里插入图片描述
初始化完成后,继续输入命令,这个下载的过程可能需要一定时间,耐心等待下载安装即可

vagrant up

在这里插入图片描述
安装成功后,打开VirtualBox就可以看到有台虚拟机
在这里插入图片描述

  1. 创建虚拟机

六、总结

Vagrant 的安装过程简单直接,只需确保依赖 VirtualBox 等虚拟机软件,并根据操作系统选择合适的安装包。安装完成后,你可以通过几行命令快速启动一个开发环境,极大地提升效率。无论是个人项目还是团队协作,Vagrant 都是值得掌握的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2335636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

APIGen-MT:高效生成多轮人机交互Agent数据的两阶段框架

APIGen-MT:高效生成多轮人机交互数据的两阶段框架 引言 随着人工智能技术的飞速发展,AI代理(Agent)已从简单的聊天机器人发展为能够执行复杂现实任务的系统,例如管理金融交易、安排预约和处理客户服务等。然而&#x…

【NLP】 21. Transformer整体流程概述 Encoder 与 Decoder架构对比

1. Transformer 整体流程概述 Transformer 模型的整个处理流程可以概括为从自注意力(Self-Attention)到多头注意力,再加上残差连接、层归一化、堆叠多层的结构。其核心思想是利用注意力机制对输入进行并行计算,从而避免传统 RNN …

《Vue Router实战教程》21.扩展 RouterLink

欢迎观看《Vue Router 实战(第4版)》视频课程 扩展 RouterLink RouterLink 组件提供了足够的 props 来满足大多数基本应用程序的需求,但它并未尝试涵盖所有可能的用例,在某些高级情况下,你可能会发现自己使用了 v-sl…

开发一个答题pk小程序的大致成本是多少

答题 PK 小程序通常指的是一种允许用户之间进行实时或异步答题竞赛的应用程序,可能结合PK答题、积分系统、排行榜等功能。 一、首先,确定答题 PK 小程序的基本功能模块。这可能包括用户注册登录、题库管理、题目类型(单选、多选、判断等&am…

GPT-2 语言模型 - 模型训练

本节代码是一个完整的机器学习工作流程,用于训练一个基于GPT-2的语言模型。下面是对这段代码的详细解释: 文件目录如下 1. 初始化和数据准备 设置随机种子 random.seed(1002) 确保结果的可重复性。 定义参数 test_rate 0.2 context_length 128 tes…

科技项目验收测试包括哪些内容?有什么作用?

在现代科技快速发展的背景下,科技项目的验收测试已成为项目管理中的重要环节。科技项目验收测试是一种系统性的方法,旨在评估一个科技项目是否达到预定的技术指标和要求,确认项目的完成质量。该测试通常在项目实施完成后进行,通过…

websoket 学习笔记

目录 基本概念 工作原理 优势 应用场景 HTTP协议与 webSoket协议之间的对比 消息推送场景 1. 轮询(Polling) 2. 长轮询(Long Polling) 3. 服务器发送事件(Server-Sent Events, SSE) 4. WebSocket…

博途 TIA Portal之1200做从站与汇川EASY的TCP通讯

上篇我们写到了博途做主站与汇川EASY的通讯。通讯操作起来很简单,当然所谓的简单,也是相对的,如果操作成功一次,那么后面就很容易了, 如果操作不成功,就会很遭心。本篇我们将1200做从站,与汇川EASY做主站进行TCP的通讯。 1、硬件准备 1200PLC一台,带调试助手的PC机一…

【数据结构_6下篇】有关链表的oj题

思路: 1.分别求出这两个链表的长度 2.创建两个引用,指向两个链表的头节点;找到长度长的链表,让她的引用先走差值步数 3.让这两个引用,同时往后走,每个循环各自走一步 然后再判定两个引用是否指向同一个…

vscode+wsl 运行编译 c++

linux 的 windows 子系统(wsl)是 windows 的一项功能,可以安装 Linux 的发行版,例如(Ubuntu,Kali,Arch Linux)等,从而可以直接在 windows 下使用 Linux 应用程序&#xf…

关于 Spring Boot 微服务解决方案的对比,并以 Spring Cloud Alibaba 为例,详细说明其核心组件的使用方式、配置及代码示例

以下是关于 Spring Boot 微服务解决方案的对比,并以 Spring Cloud Alibaba 为例,详细说明其核心组件的使用方式、配置及代码示例: 关于 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案! https://sca.aliyun.com/?spm7145af80…

VS 基于git工程编译版本自动添加版本号

目录 概要 实现方案 概要 最近在用visual Studio 开发MFC项目时,需要在release版本编译后的exe文件自动追加版本信息。 由于我们用的git工程管理,即需要基于最新的git 提交来打版本。 比如: MFCApplication_V1.0.2_9.exe 由于git 提交信…

pytorch软件封装

封装代码,通过传入文件名,即可输出类别信息 上一章节,我们做了关于动物图像的分类,接下来我们把程序封装,然后进行预测。 单张图片的predict文件 predict.py 按着路径,导入单张图片做预测from torchvis…

【多线程-第四天-自己模拟SDWebImage的下载图片功能-看SDWebImage的Demo Objective-C语言】

一、我们打开之前我们写的异步下载网络图片的项目,把刚刚我们写好的分类拖进来 1.我们这个分类包含哪些文件: 1)HMDownloaderOperation类, 2)HMDownloaderOperationManager类, 3)NSString+Sandbox分类, 4)UIImageView+WebCache分类, 这四个文件吧,把它们拖过来…

电脑提示“找不到mfc140u.dll“的完整解决方案:从原因分析到彻底修复

当你启动某个软件或游戏时,突然遭遇"无法启动程序,因为计算机中丢失mfc140u.dll"的错误提示,这确实令人沮丧。mfc140u.dll是Microsoft Foundation Classes(MFC)库的重要组成部分,属于Visual C Re…

图像变换方式区别对比(Opencv)

1. 变换示例 import cv2 import matplotlib.pyplot as plotimg cv2.imread(url) img_cut img[100:200, 200:300] img_rsize cv2.resize(img, (50, 50)) (hight,width) img.shape[:2] rotate_matrix cv2.getRotationMatrix2D((hight//2, width//2), 50, 1) img_wa cv2.wa…

图像颜色空间对比(Opencv)

1. 颜色转换 import cv2 import matplotlib.pyplot as plotimg cv2.imread("tmp.jpg") img_r cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_g cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_h cv2.cvtColor(img, cv2.COLOR_BGR2HSV) img_l cv2.cvtColor(img, cv2.C…

每天学一个 Linux 命令(15):man

可访问网站查看,视觉品味拉满:http://www.616vip.cn/15/index.html 每天学一个 Linux 命令(15):man 命令简介 man(Manual)是 Linux 中最核心的命令之一,用于查看命令、系统调用、库函数等的手册文档。它是用户和开发者获取帮助的核心工具,几乎覆盖了系统中的所有功…

必刷算法100题之计算右侧小于当前元素的个数

题目链接 315. 计算右侧小于当前元素的个数 - 力扣(LeetCode) 题目解析 计算数组里面所有元素右侧比它小的数的个数, 并且组成一个数组,进行返回 算法原理 归并解法(分治) 当前元素的后面, 有多少个比我小(降序) 我们要找到第一比左边小的元素, 这样…

Python依赖注入完全指南:高效解耦、技术深析与实践落地

Python依赖注入完全指南:高效解耦、技术深析与实践落地 摘要 依赖注入(DI)不仅是一种设计技术,更是一种解耦的艺术。它通过削减模块间的强耦合性,为系统提供了更高的灵活性和可测试性,特别是在 FastAPI 等…