基于vagrant搭建跨平台的开发环境

2024-08-29 10:38

本文主要是介绍基于vagrant搭建跨平台的开发环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于vagrant搭建跨平台的开发环境

一、为什么我们需要vagrant

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 主要使用Oracle的开源VirtualBox虚拟化系统(目前也支持vmware),使用 Chef创建自动化虚拟环境。

基于Vagrant我们可以快速的搭建跨平台的开发环境,在windows、mac和linux下拥有相同的开发环境。不用担心这个组件只能运行在linux生产环境的问题。这样只要老司机配置好一个稳健的开发环境box,其他人都能受益其中。

二、安装过程

  1. 下载安装vagrant。

    外网下载地址:https://www.vagrantup.com/downloads.html

    安装提示一步步来即可,mac不需要配置环境变量,windows的同学可能需要配置下环境变量

  2. 安装virtualbox

    https://mirror.tuna.tsinghua.edu.cn/virtualbox/ 清华的源会快点,建议不要版本太高

  3. 环境验证

    vagrant --version 
    VBoxManage --version
    ssh -V

    建议版本是:

    vagrant:1.8.1

    virtualbox:5.0.14

    Ssh:无限制

  4. 导入老司机的box

    老司机的box名(box_made_in_tripwiki.org.box),自定义镜像名(my_box)

    vagrant box add my_box box_made_in_tripwiki.org.box

    老司机的box(box_made_in_tripwiki.org.box)中可以装上复杂的lamp、各种类库、消息队列等基础环境,自己不用换个环境就要动手搞这些,想想真是舒畅。

  5. 初始化环境

    
    # 进入你们的工作目录cd ~/vagrant/my_dev# 初始化vagrantvagrant init my_box# 登录启动环境,最容易出问题vagrant up# 登录环境vagrant ssh

  6. 运行环境

    cd ~/vagrant/my_dev
    mkdir my_proj# vagrant 此时挂载目录也会有对应的目录# 简单测试下网络端口python -m SimpleHTTPServer 8111# 打开宿主开发机的浏览器,发现访问不了,此时需要修改下vagrantfile的配置信息
    
  7. 修改vagrantfile配置文件

    网络映射修改:

    config.vm.network :forwarded_port, guest: 8111, host: 8111# 加一层网络转发
    

    vagrant reload 重启vagrant,再打开浏览器,即可看到我们启动的http服务


vagrantfile里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置、SSH配置、Vagrant的一些基础配置。Vagrant是使用Ruby开发的,所以它的配置语法也是Ruby的,但是我们没有学过Ruby的人还是可以跟着它的注释知道怎么配置一些基本项的配置。

  1. vagrant常用命令
$ vagrant init  # 初始化
$ vagrant up  # 启动虚拟机
$ vagrant halt  # 关闭虚拟机
$ vagrant reload  # 重启虚拟机
$ vagrant ssh  # SSH 至虚拟机
$ vagrant status  # 查看虚拟机运行状态
$ vagrant destroy  # 销毁当前虚拟机

三、vagrant的一些思考

其实vagrant本身并没有做虚拟化工作,它所做的这些只是简化了我们对virtualbox的操作,将虚拟化服务做到开箱即用。

这篇关于基于vagrant搭建跨平台的开发环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117627

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过