当我们在 Windows 平台上进行程序开发的时候,会遇到各种各样让人讨厌的问题,有时候还必须转到 Linux 环境下进行开发。然而,通过本文你将可以解决你在 Windows 平台上开发遇到的所有问题。

1、Chocolate Package Manager

对于开发人员而言,搭建开发环境是所有开发环节中的第一步,然而在 Windows 环境下,各种安装工具,软件版本五花八门,而且容易下载到病毒软件,因此对于初学者来说,下载到正确的开发软件,搭建好开发环境还是有一定难度和技巧性的.

如果希望 windows 平台上能有像 linux,macos 上的那种包管理工具,能让我一个命令就下载相应的环境,并把环境的路径添加到环境变量中,无需自己手动操作,然而这样的包管理工具已经存在了,Chocolate Package Manager 恰好是在Windows环境下处理搭建开发环境最好、也是最简单的解决方式之一。


包管理器又称软件包管理系统,它是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。

  • 官网:https://chocolatey.org/
  • 安装文档:https://chocolatey.org/install
  • Chocolate Packages:https://chocolatey.org/packages

安装好 Chocolate 后,Windows 下的所有环境,包括 node,npm,python,java,git,filezilla 等都是用这个工具安装的,所有包自此之后都不需手动管理,就算要卸载,也只是一个命令。

2、Windows Subsystem for Linux

如果我们希望能在 Windows 上舒舒服服地学习、使用 Linux,微软已经解决了这个问题,而且解决的很好。

适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。

2.1 安装 WSL

官网安装地址:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

2.2 WSL1 升级到 WSL2

WSL2 安装说明:https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install

2.2.1 Win10 版本升级到18917或更高版本:

  1. 若要确保使用的是版本18917或更高版本,请加入Windows 预览体验计划,并选择 "快速" 环或 "慢速" 环。


  2. 检查 Windows 更新,更新完后,重启系统


  3. 查看 Windows 版本

    设置 --> 系统 --> 关于


2.2.2 Ubuntu 升级 WSL2 提示由于虚拟磁盘系统限制,无法完成请求的操作。虚拟硬盘文件必须是解压缩和未加密的,并且不能是稀疏的。

打开目录C:\Users\lenovo\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc


When it asks whether you want to apply to just this folder or to all subfolders and files, you can say "just this folder", because all you're doing is clearing that "compress" flag.

2.2.3 WSL2 与 Win10 文件系统互相访问

进入 WSL2 后,一切都和 linux 系统一摸一样,和 WSL1 的翻译系统调用的方式不同,WSL2 是基于虚拟机的,但是这个虚拟机和普通的虚拟机不太一样,它的环境并不是和 windows 隔离的,你可以在 linux 里编辑和更改 windows 系统的文件,也可以在 windows 里编辑修改 linux 的文件,二者是互通的,并且如果你在 linux 里启动一个 localhost 的应用,你可以直接在浏览器里用 localhost 去访问。

Ubuntu为例,Ubuntu访问Win10 文件: Win10 文件系统挂载到Ubuntu的/mnt


Win10访问Ubuntu文件系统,只需在Ubuntu Terminal中执行explorer.exe .命令,即可查看Ubuntu系统文件


2.3 zsh + oh-my-zsh

  • zsh 官网:https://github.com/zsh-users/zsh
  • oh-my-zsh 官网:https://ohmyz.sh/

首先,安装 zsh

sudo apt-get install zsh

把默认的Shell改成 zsh

chsh -s /bin/zsh

安装 oh-my-zsh:

$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

更改zsh主题:

$ vi .zshrcZSH_THEME="ys"

3、Windows Terminal

如果希望有好用的命令行工具,微软推出的 windows terminal,支持多标签页,自定义样式,GPU 文本渲染,各种快捷键,屏幕分裂,json自定义配置等。


官方地址:https://github.com/microsoft/terminal

4、VSCode Remote

有了上面三个的加持,再结合 VSCode,在 win 平台上开发,再也不像从前那样麻烦了,至少,win 平台上开发,搭开发环境麻烦,无法获得类 unix 体验等等问题,都是不存在的。

注意:使用Win10自带的SSH服务连接WSL报错,协议不匹配,使用VSCode Remote可以连接WSL


至此,Win10 开发环境搭建完成!!!

欢迎关注微信公众号

win10卸载git_打造 Win10 终极开发环境相关推荐

  1. mac搭建python开发环境_Mac打造python2 python3开发环境

    最新版的MacOS Sierra默认带的python环境仍然为2.7.10,本文将介绍使用Brew安装python3.5并做简单的配置,打造python2,python3共存的开发环境 直接尝试bre ...

  2. notepad 配置c语言开发环境,用notepad++打造c/c++开发环境

    用notepad++打造c/c++开发环境 (2014-01-07 11:21:18) 标签: c/c notepad 开发 it 本文介绍如何使用开源软件notepad++,来打造c/c++开发环境 ...

  3. 打造 Win10 终极开发环境

    当我们在 Windows 平台上进行程序开发的时候,会遇到各种各样让人讨厌的问题,有时候还必须转到 Linux 环境下进行开发.然而,通过本文你将可以解决你在 Windows 平台上开发遇到的所有问题 ...

  4. win10下用Linux搭建pythonnodejs开发环境

    Win10下用自带Linux系统搭建开发环境 Win10下用自带Linux系统搭建开发环境 启用Linux 老版本(win10 1709之前): 新版本(win10 1709之后) 卸载linux 老 ...

  5. 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程

    文章目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3. ...

  6. 使用VSCode打造APM飞控的编译+烧录+调试一体的终极开发环境

    日期:2019.05.08 前言 APM(Ardupilot)和PX4是当今世界上最为流行和活跃的两大开源飞控软件项目,它们均在Linux下基于gcc编译工具链开发,对于那些习惯与在Windows下使 ...

  7. win10基于IDEA,搭建Presto开发环境

    1. 絮絮叨叨 从工作开始,同事就说你要领一个mac,这样方便你的开发工作 毕竟习惯了操作Linux服务器,在mac上使用常见的Linux命令,毫无障碍 哪里像windows,使用shell命令都要先 ...

  8. Win10下使用WampServer搭建PHP开发环境

    WampServer是一个支持Windows平台的web开发环境搭建工具.它可帮助你搭建一个支持Apache2.PHP和MySQL技术的Web应用,并提供了PhpMyAdmin管理你的数据库. 1.下 ...

  9. Win10上安装anaconda深度学习开发环境

    1.下载anaconda 点开下面的链接,下载版本Anaconda3-4.1.1-Windows-x86_64.exe https://repo.anaconda.com/archive/ 2.安装a ...

最新文章

  1. 极客学院 git教程
  2. service 层注入不同的数据源_.NET 理论基础+实战控制台程序实现AutoFac注入
  3. [转]被当做狗和鸡来驱赶的百姓
  4. android数据序列化的实现
  5. Java下MySQL易用处理工具(支持XML/JavaBean)
  6. 计算机网络与传统的通信网络的最大区别,3G,4G技术3G与传统通信技术的主要区别?主要特色?另对4G稍 爱问知识人...
  7. ajax如何进行逻辑判断,如何使Ajax的某些部分同步发生,而前端逻辑异步发生?...
  8. vsftp 客户端多个ip_VSFTP环境搭建
  9. 十大物流仿真软件汇总
  10. java文件转码工具-native2ascii.exe命令简介
  11. LoRa网关与服务器通信——MQTT
  12. photoshop----剪切蒙版/置入图片
  13. 基于ROS的A*算法代码学习
  14. 2021苹果最新供应链名单公布
  15. 不懂java,这篇文章带你入门起飞
  16. unity 关闭所有日志输出
  17. 2013计算机学科排名,2013年美国大学排名计算机专业排名情况
  18. python运维工程师前景及待遇_做运维工程师有前途吗?
  19. TMS320F28377S 学习笔记1 GPIO及学习资料
  20. [4G5G专题-84]:架构 - 4G LTE 空中接口与协议栈

热门文章

  1. C语言-----函数中的变量
  2. Calibre xRC生成spectre后仿网表流程
  3. SQL查询优化外连接和内连接
  4. <计算机网络>网络分析仪分析协议
  5. 弹性板计算和板带划分计算_单向板弹性计算计算书
  6. 电容有17种?看看详细介绍!
  7. 一次ios转安卓记录(ios15 --> 魅族18s)
  8. C# 串口SerialPort方法详解
  9. Linux安装Maven一条龙服务
  10. php循环分页,如何使用PHP在foreach循环中对行进行分页