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 进行开发了。

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

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

相关文章

正则表达式与文本处理

目录 一、正则表达式 1、正则表达式定义 1.1正则表达式的概念及作用 1.2、正则表达式的工具 1.3、正则表达式的组成 2、基础正则表达式 3、扩展正则表达式 4、元字符操作 4.1、查找特定字符 4.2、利用中括号“[]”来查找集合字符 4.3、查找行首“^”与行尾字符“$”…

【Golang 面试 - 进阶题】每日 3 题(四)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

Lesson 52 What nationality are they? Where do they come from?

Lesson 52 What nationality are they? Where do they come from? 词汇部分 the U.S. 美国 全称:The United States of America    美利坚合众国 其他称呼:the States      the U.S.A.      Uncle Sam Brazil n. 巴西 Brazilian a. 巴…

LeetCode算法——滑动窗口矩阵篇

1、长度最小的子数组 题目描述&#xff1a; 解法&#xff1a; 设一个 for 循环来改变指向窗口末尾的指针&#xff0c;再不断抛弃当前窗口内的首元素 最终确定满足条件的最小长度 class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int …

duilib中设置窗口透明度的接口CPaintManagerUI::SetTransparent有问题导致使用duilib窗口实现异形窗口无效的排查

目录 1、duilib框架中设置窗口透明度的代码说明 2、UpdateLayeredWindow调用失败,发现添加的WS_EX_LAYERED风格被删除了 3、窗口有WS_EX_LAYERED风格了,但UpdateLayeredWindow调用依旧失败 4、如何知道SetLayeredWindowAttributes函数调用之后再调用UpdateLayeredWindow…

netty构建http服务器

Netty 是一个高性能的异步事件驱动的网络应用框架&#xff0c;用于快速开发可维护的高性能协议服务器和客户端。要使用 Netty 搭建一个支持 HTTP 方法&#xff08;GET, POST, PUT, DELETE&#xff09;的 HTTP 服务器&#xff0c;可以按照以下步骤进行操作。 准备工作 添加依赖…

苹果电脑暂存盘已满怎么清理 Mac系统如何清理磁盘空间 清理MacBook

Mac电脑用户在长时间使用电脑之后&#xff0c;时常会看到“暂存盘已满”的提示&#xff0c;这无疑会给后续的电脑使用带来烦恼&#xff0c;那么苹果电脑暂存盘已满怎么清理呢&#xff0c;下面将给大家带来一些干货帮你更好地解决这个问题。 首先我们要搞明白为什么暂存盘会满&…

c++ 智能指针shared_ptr与make_shared

shared_ptr是C11引入的一种智能指针&#xff0c;‌它允许多个shared_ptr实例共享同一个对象&#xff0c;‌通过引用计数来管理对象的生命周期。‌当最后一个持有对象的shared_ptr被销毁时&#xff0c;‌它会自动删除所指向的对象。‌这种智能指针主要用于解决资源管理问题&…

select count小坑

count(字段&#xff09;如果字段有NULL则不会统计进来&#xff0c;count(1)和count(*)则没有这个问题

警务平台app

智慧公安以大数据、云计算、人工智能、物联网和移动互联网技术为支撑&#xff0c;以“打、防、管、控”为目的&#xff0c;综合研判为核心&#xff0c;共享信息数据资源&#xff0c;融合业务功能&#xff0c;构建公安智慧大数据平台&#xff0c;实现公安信息数字化、网络化和智…

【运维自动化-配置平台】模型及模型关联最小化实践

蓝鲸智云配置平台&#xff0c;以下简称配置平台 我们知道主机是配置平台最常见的管控资源对象&#xff0c;在业务拓扑里可以通过划分模块来清晰的可视化管理&#xff1b;那其他资源如何通过配置平台来纳管呢&#xff0c;比如网络设备交换机。场景需求&#xff1a;如何把交换机…

C++ 指针各类型详细解析

文章目录 1. 内存地址 2. 指针 3. 使用指针 4. Null 指针 5. 指针的算术运算 递增一个指针 递减一个指针 指针的比较 6. 指针和数组 7. 指针数组 8. 指向指针的指针&#xff08;多级间接寻址&#xff09; 9. 传递指针给函数 1. 内存地址 通过指针&#xff0c;可以…

【前端 10】初探BOM

初探BOM&#xff1a;浏览器对象模型 在JavaScript的广阔世界中&#xff0c;BOM&#xff08;Browser Object Model&#xff0c;浏览器对象模型&#xff09;扮演着举足轻重的角色。它为我们提供了一套操作浏览器窗口及其组成部分的接口&#xff0c;让我们能够通过编写JavaScript…

QT--线程

一、线程QThread QThread 类提供不依赖平台的管理线程的方法&#xff0c;如果要设计多线程程序&#xff0c;一般是从 QThread继承定义一个线程类&#xff0c;在自定义线程类里进行任务处理。qt拥有一个GUI线程,该线程阻塞式监控窗体,来自任何用户的操作都会被gui捕获到,并处理…

Redisson中的RBlockingQueue的使用场景及例子

Redisson 的 RBlockingQueue 是一个实现了 Java BlockingQueue 接口的分布式队列&#xff0c;它可以用于在分布式系统中实现生产者-消费者模式。RBlockingQueue 提供了线程安全的阻塞队列操作&#xff0c;允许生产者在队列满时阻塞&#xff0c;消费者在队列空时阻塞&#xff0c…

【PyQt5】一文向您详细介绍 setPlaceholderText() 的作用

【PyQt5】一文向您详细介绍 setPlaceholderText() 的作用 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通…

GraphRAG:< Not supported between instances of ‘NoneType‘ and ‘int‘

GraphRAG&#xff1a;< Not supported between instances of NoneType and int 0. 错误信息1. 解决方法 0. 错误信息 使用 GraphRAG 调用 vllm 的 openai api 时&#xff0c;报错&#xff1a; Not supported between instances of NoneType and int1. 解决方法 vi /root/…

yum失效-简单配置阿里云yum源

更换阿里云yum源 最近跟很多人反馈,centos7 yum 源失效的问题,这里简单做个总结,操作步骤如下 1. 打开centos的yum文件夹输入命令进入yum 配置文件所在位置 cd /etc/yum.repos.d/ 2. 用wget下载repo文件输入命令 wget http://mirrors.aliyun.com/repo/Centos-7.repo 3. 如…

脑网络布线成本优化——从Caja守恒原则到最小化成本的探索

脑网络布线成本优化——从Caja守恒原则到最小化成本的探索 Caja守恒原则的核心作用 Caja守恒原则&#xff0c;即大脑组织的布线成本最小化原则&#xff0c;是神经科学中的一个重要概念。它指出&#xff0c;大脑在组织结构上倾向于最小化连接神经元以构成环路或网络所涉及的布…