当前位置: 首页 > news >正文

Windows 10 安装 WSL、安装 Go 以及配置环境变量的详细教程

安装 WSL 和 Ubuntu

  1. 启用 WSL 功能

    • 以管理员身份打开 PowerShell。

    • 运行以下命令以启用 WSL 功能:

      dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
      
  2. 启用虚拟机平台

    • 继续在管理员 PowerShell 中运行以下命令以启用虚拟机平台:

      dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
      
  3. 安装 WSL 2

    • 运行以下命令以设置 WSL 2 作为默认版本:

      wsl --set-default-version 2
      
  4. 安装 Ubuntu

    • 运行以下命令以安装 Ubuntu:

      wsl --install -d Ubuntu
      
    • 安装完成后,重新启动计算机。

  5. 启动 Ubuntu 并设置用户名和密码

    • 在 Windows 搜索栏中输入 “Ubuntu” 并启动它。
    • 按照提示设置用户名和密码。
  6. 设置 Ubuntu 为默认的 WSL 发行版

    • 运行以下命令将 Ubuntu 设置为默认的 WSL 发行版:

      wsl --set-default Ubuntu
      

安装 Go

  1. 更新软件包列表并安装 Go

    • 在 Ubuntu 终端中运行以下命令:

      sudo apt update
      sudo apt install golang-go
      
  2. 验证 Go 安装

    • 运行以下命令验证 Go 是否安装成功:

      go version
      

设置环境变量

  1. 编辑 .bashrc 文件

    • 在 Ubuntu 终端中打开 .bashrc 文件:

      nano ~/.bashrc
      
  2. 添加 Go 环境变量

    • 在文件末尾添加以下内容(假设你的 GOPATH 在 Windows 上是 D:\goworkspace,对应 WSL 中的路径是 /mnt/d/goworkspace):

      export GOPATH=/mnt/d/goworkspace
      export GOROOT=/usr/lib/go # 根据你的 Go 安装路径调整
      export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
      
  3. 确保 .profile 自动加载 .bashrc

    • 编辑 .profile 文件:

      nano ~/.profile
      
    • 确保文件包含以下内容:

      # Include .bashrc if it exists
      if [ -f "$HOME/.bashrc" ]; then. "$HOME/.bashrc"
      fi
      
  4. 刷新配置

    • 保存并关闭编辑器,然后运行以下命令刷新配置:

      source ~/.bashrc
      
  5. 验证环境变量

    • 运行以下命令验证环境变量是否正确设置:

      echo $GOPATH
      echo $GOROOT
      echo $PATH
      

使用 WSL 和 Go

  1. 启动 WSL

    • 在 Windows 搜索栏中输入 “Ubuntu” 并启动它。
  2. 导航到项目目录

    • 假设你的项目在 D 盘:

      cd /mnt/d/goworkspace/
      
  3. 构建项目

    • 设置 Go 环境变量并构建项目:

      export GOOS=linux
      export GOARCH=amd64
      go build -o xxxx
      

Windows 10 上使用 WSL 并安装 CentOS,以下是详细的安装和配置指南,包括安装 Go 和设置环境变量。

安装 WSL 和 CentOS

  1. 安装 CentOS

    • 由于 Microsoft Store 中不提供 CentOS 的官方镜像,你需要从第三方获取 CentOS WSL 镜像。你可以从以下链接下载 CentOS WSL 发行版:
      CentOS WSL 发行版

    • 下载最新的压缩包并解压到一个你希望安装的位置。例如:C:\WSL\CentOS

  2. 注册 CentOS WSL 发行版

    • 以管理员身份打开 PowerShell,导航到解压后的目录,然后运行以下命令注册 CentOS WSL 发行版:

      cd C:\WSL\CentOS
      .\CentOS.exe
      
    • 按照提示设置用户名和密码。

  3. 设置 CentOS 为默认的 WSL 发行版

    • 运行以下命令将 CentOS 设置为默认的 WSL 发行版:

      wsl --set-default CentOS
      

总结

以上步骤涵盖了从安装 WSL、设置 Ubuntu 、Centos环境、安装 Go 到配置环境变量的整个过程,包括将 Ubuntu 设置为默认的 WSL 发行版。这样,你就可以在 Windows 10 上使用 WSL 和 Go 进行开发了。

相关文章:

Windows 10 安装 WSL、安装 Go 以及配置环境变量的详细教程

安装 WSL 和 Ubuntu 启用 WSL 功能 以管理员身份打开 PowerShell。 运行以下命令以启用 WSL 功能: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart启用虚拟机平台 继续在管理员 PowerShell 中运行以下命令以启…...

论文阅读:基于生物神经元的模拟游戏世界感知与学习

论文内容概述 AI要90分钟学会的游戏,人脑细胞竟在5分钟搞定了。Cell在2022年的研究中,使用80万体外神经元细胞(DishBrain)竟然学会玩70年代经典街机游戏Pong! 论文链接:In vitro neurons learn and exhibit sentience when emb…...

理解最先进模型的起点GPT-2 源码 配置的解释

理解最先进模型的起点GPT-2 源码 配置的解释 flyfish 为训练GPT模型设置和管理配置参数、日志记录以及实验的可重复性 理解最先进模型的起点GPT-2 理论知识 理解最先进模型的起点GPT-2 源码 注释 模型部分(from mingpt.model) utils.py import os import sys import json im…...

C++11 可变参数模板

C11的新特性可变参数模板能够创建可以接受可变参数的函数模板和类模板,相比C98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比较抽象,使用起来需要一定的技巧&#x…...

项目实战——外挂开发(30小时精通C++和外挂实战)

项目实战——外挂开发(30小时精通C和外挂实战) 外挂开发1-监控游戏外挂开发2-秒杀僵尸外挂开发3-阳光地址分析外挂开发4-模拟阳光外挂开发5-无限阳光 外挂开发1-监控游戏 外挂的本质 有两种方式 1,修改内存中的数据 2,更改内存中…...

【人工智能专栏】Constructive损失解析

Constructive Loss 相比较于 MSE Loss \text{MSE Loss} MSE Loss 和 MAE Loss \text{MAE Loss} MAE Loss 直接将结果与目标数值比较的做法,使用 Constru...

PHP经销商订货管理系统小程序源码

经销商订货管理系统:重塑供应链效率的利器 🚀 开篇:解锁供应链管理的新纪元 在竞争激烈的商业环境中,经销商作为供应链的关键一环,其订货效率直接影响到整个供应链的流畅度和响应速度。传统的订货方式往往繁琐、易出…...

【网络世界】HTTPS协议

目录 🌈前言🌈 📁 HTTP缺陷 📁 HTTPS 📂 概念 📂 加密 📂 加密方式 📁 中间人攻击 📁 CA机构和证书 📂 数据摘要(数据指纹) &…...

根据空域图信息构造飞机航线图以及飞行轨迹模拟matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 航路网络建模 4.2 航线图构建 4.3 飞行轨迹模拟的具体步骤 5.完整程序 1.程序功能描述 空域图是指航空领域中的一种图形表示方式,它涵盖了空中交通管理所需要的各种信息&a…...

llama-factory 系列教程 (五),SFT 微调后的模型,结合langchain进行推理

背景 微调了一个 glm4-9B的大模型。微调后得到Lora权重,部署成vllm 的API,然后通过langchain接入完成相关任务的推理。 关于SFT 微调模型的部分就不做介绍了,大家可以参考前面的文章,将自己的数据集 在 Llamafactory 的 dataset…...

hive 中编写生成连续月sql

记录一下 sql 编写生成从一个确定的起始月份到当前月份的连续月份序列 SELECT substr(add_months(table1.start_dt,table2.pos),1,4) AS INDICT_YEAR,substr(add_months(table1.start_dt,table2.pos),1,7) AS INDICT_MON FROM (SELECT 2024-01-01 AS start_dt,substr(CURRE…...

前端开发实用的网站合集

文章目录 一、技能提升篇vueuseJavaScript中文网JavaScript.infoRxJsWeb安全学习书栈网码农之家 二、UI篇iconfont:阿里巴巴矢量图标库IconPark3dicons美叶UndrawError 404摹克 三、CSS篇You-need-to-know-cssCSS TricksAnimate.cssCSS ScanCSS Filter 四、颜色篇中…...

蓄势赋能 数智化转型掌舵人百望云杨正道荣膺“先锋人物”

2024年,在数据与智能的双涡轮驱动下,我们迎来了一个以智能科技为核心的新质生产力大爆发时代。在数智化浪潮的推动下,全球企业正站在转型升级的十字路口。在这个充满变革的时代,企业转型升级的道路充满挑战,但也孕育着…...

(七)前端javascript中的函数式编程技巧2

函数式编程范式的技巧 迭代算法-可以替代for in let count 10;while (count--) {console.log(count); }斐波拉契的实现 function fabci(n) {console.log("🚀 ~ fabci ~ n:", n);if (n 1 || n 2) {return 1;}return fabci(n - 1) fabci(n - 2);}cons…...

LeetCode热题 翻转二叉树、二叉树最大深度、二叉树中序遍历

目录 一、翻转二叉树 1.1 题目链接 1.2 题目描述 1.3 解题思路 二、二叉树最大深度 2.1 题目链接 2.2 题目描述 2.3 解题思路 三、二叉树中序遍历 3.1 题目链接 3.2 题目描述 3.3 解题思路 一、翻转二叉树 1.1 题目链接 翻转二叉树 1.2 题目描述 1.3 解题思路 根…...

DNS查询服务器的基本流程以及https的加密过程

DNS查询服务器的基本流程,能画出图更好,并说明为什么DNS查询为什么不直接从单一服务器查询ip,而是要经过多次查询,多次查询不会增加开销么(即DNS多级查询的优点)? 用户发起请求:用户…...

后台管理系统(springboot+vue3+mysql)

系列文章目录 1.SpringBoot整合RabbitMQ并实现消息发送与接收 2. 解析JSON格式参数 & 修改对象的key 3. VUE整合Echarts实现简单的数据可视化 4. List<HashMap<String,String>>实现自定义字符串排序(key排序、Val…...

Android经典面试题之Kotlin中 if 和 let的区别

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 在Kotlin中,if和let虽然有时候用来处理相似的情景,但它们实际上是用于不同的场景并具有不同的性质。下面我们来详细对比…...

python inf是什么意思

INF / inf:这个值表示“无穷大 (infinity 的缩写)”,即超出了计算机可以表示的浮点数的范围(或者说超过了 double 类型的值)。例如,当用 0 除一个整数时便会得到一个1.#INF / inf值;相应的,如果…...

Cursor搭配cmake实现C++程序的编译、运行和调试

Cursor搭配cmake实现C程序的编译、运行和调试 Cursor是一个开源的AI编程编辑器,开源地址https://github.com/getcursor/cursor ,它其实是一个集成了Chat-GPT的VS Code。 关于VS Code和VS的对比可以参考这篇文章VS Code 和 Visual Studio 哪个更好&…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制&#xff0…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

GitHub 趋势日报 (2025年06月06日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)

cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...

嵌入式面试常问问题

以下内容面向嵌入式/系统方向的初学者与面试备考者,全面梳理了以下几大板块,并在每个板块末尾列出常见的面试问答思路,帮助你既能夯实基础,又能应对面试挑战。 一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责…...