在 Win10 中配置 Linux 开发环境
很多公司开发用的操作系统是 windows,但 windows 的终端实在难用。win10 发布初期就集成了 linux 子系统,当时还是 beta 版,目前(2018-09-20,我当前 windows 版本号是 1803,操作系统版本是 17134.285)beta 标志已经取消,这表明已经相对成熟了。
所以想试下 ubuntu 的终端,这样就可以集成 oh-my-zsh 了(集成 oh-my-zsh 的终端超级好用啊,不管主题还是各种操作)。虽然初衷仅仅是想使用 ubuntu 的终端,但配置到后期发现完全可以将开发环境需要的软件(比如前端使用的 node,npm 等等)安装到 ubuntu 中,这样在命令行中的开发体验和直接使用 ubuntu 基本相同。从这方面讲,windows 的开发体验也不再那么不堪。
相当于借助 Ubuntu 的终端管理 windows 上的资源。
先上效果图,下面介绍如何配置。
1. 配置 linux 的终端
这是最重要的一步,配置好终端,就成功了一半。
1.1 开启适用于 Linux 的 Windows 子系统
1.1.1 前期工作
首先,win10 版本要 1709 以上。
然后前往 “启用或关闭 Windows 功能”,将 “适用于 Linux 的 Windows 子系统” 打勾,重启生效。
如何进入“启用或关闭 Windows 功能”不同版本有差异,1803 是 “win + x” 选择 “应用和功能”,点击面板右侧 “程序和功能”,然后在面板左侧可以看到 “启用或关闭 Windows 功能”。
1.1.2 安装 linux
打开 “Microsoft Store” 搜索对应的 Linux 应用进行安装,这里我选择的是 Ubuntu(没写版本号的 Ubuntu 安装后查看版本号cat /etc/issue
显示为 Ubuntu 18.04.1 LTS)。
安装成功后无需重启,点击“开始”,搜索 “bash”,或者 “win + r” 输入 “bash” 就可以启动 Ubuntu 下的终端了。
1.2 配置 zsh
配合 zsh 可以扩展 Ubuntu 终端的功能,比如,历史纪录、tab 目录选择、git 别名、自动添加sudo
等。
1.2.1 安装 zsh
使用 ubuntu 的apt-get
命令进行安装。
sudo apt-get install zsh
通过zsh --version
可查看是否安装成功。
1.2.2 配置 zsh 为默认终端
在用户目录~
下找到.bash_profile
,如果没有就建一个,当然这是个隐藏的文件,需要ls -a
来查看。打开它,然后在末尾加上:
exec zsh
source .zshrc
1.2.3 安装 oh-my-zsh
zsh 配置本身很繁琐,oh-my-zsh 可以更方便的管理 zsh 配置,集成了各种插件、主题。
通过下面命令进行安装:
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
1.2.3 激活/安装插件
oh-my-zsh 插件分本身集成的插件(在目录~/.oh-my-zsh/plugins
下面)和需要自己下载的插件两部分。
如果是本身继承的,直接在~/.zshrc
中激活就好:
# 将需要激活的插件名写在小括号中
plugins=(git sudo)
如果是非本身集成的,除了需要在~/.zshrc
中激活,还需要将插件下载到目录~/.oh-my-zsh/custom/plugins
下面
除了使用内置的 git 和 sudo,我还下载了 zsh-syntax-highlighting 和 zsh-autosuggestions:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
NOTE:
如果下载完第三方插件出现了权限问题,可以在.zshrc
里引入 oh-my-zsh 之前加入ZSH_DISABLE_COMPFIX=true
解决:
# authority,在引入 oh-my-zsh 之前加入
ZSH_DISABLE_COMPFIX=true# 这里是引入 oh-my-zsh
source $ZSH/oh-my-zsh.sh
1.3 安装 cmder
为什么还要安装 cmder?上面配置完终端的字体还不好看,通过配置 cmder 可以使终端显示的更漂亮。
具体安装配置可参考这篇文章 cmder 安装及配置,这里需要说明的是怎么配置 cmder 默认启动 Ubuntu 终端:
通过 “win + alt + p” 打开设置,然后在 “startup” 中选中 “Command line” 添加参数%windir%\system32\bash.exe ~
即可。
1.4 其他坑
- 对于 Ubuntu 的终端来说,windows 的硬盘相当于挂载在 ubuntu 系统下,所以切换盘符时需要在前面加
mnt
,比如,从 C 盘切到 E 盘:
# 当前 C 盘,切到 E 盘
cd /mnt/e/
- 在终端中使用代理
终端本身不走系统代理,如果想通过终端访问墙外资源,在~/.zshrc
中添加下面内容:
# proxy list
alias proxy='export http_proxy=socks5://127.0.0.1:1080; export https_proxy=socks5://127.0.0.1:1080'
alias unproxy='unset http_proxy; unset https_proxy'
通过在终端输入命令proxy
开启代理,通过unproxy
关闭代理。
我这里使用了 shadowsocks,可以通过
curl ip.cn
命令判断代理是否开启。
- 如果在 Ubuntu 中安装了某个软件不能正确执行,比如 npm,将 windows 上对应的软件删掉再试下。
2. 安装开发软件
其实和原生 Ubuntu 安装软件一致,这里以安装 node,npm,vue-cli 为例介绍:
安装之前可以先更新下包资源:
sudo apt-get update
2.1 安装 node
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
具体参考:install Ubuntu:Debian and Ubuntu based Linux distributions
2.2 安装 npm 及其他 npm 包
npm 需要单独安装
sudo apt-get install npm
安装其他 npm 包就是正常套路了,比如:
sudo npm i cnpm -g
cnpm i -g vue-cli
参考资料
WIN10 下搭建一个 linux 环境(ubuntu+cmder+oh-my-zsh)
Github:zsh-syntax-highlighting how to install
Mac OSX 终端走 shadowsocks 代理
在 Win10 中配置 Linux 开发环境相关推荐
- eclipse配置python开发环境_Eclipse中配置python开发环境详解
Eclipse中配置python开发环境详解 1.下载python安装包.python-2.6.6.msi.并安装. 默认python会安装在C:\Python26下,查看环境变量,如果没有在path ...
- QT - QT中配置MSVC编译环境 以及 VS中配置QT开发环境
本文主要记录一下如何在 QT5.14.2 中配置 MSVC2017 构建套件,以及在VS2017中配置QT的开发环境.开发环境为 Win10 + QT5.14.2 + Visual Studio 2 ...
- eclipse中配置c++开发环境 Eclipse + CDT + MinGW
转自eclipse中配置c++开发环境 Eclipse + CDT + MinGW 基本框架:Eclipse + CDT + MinGW 背景知识: CDT:CDT 是完全用 Java 实现的开放源码 ...
- _用WSL,MobaXterm,Cmder配置linux开发环境
离不开Windows的理由很多,作为后端开发需要使用linux的情况也很多,双系统总归是不方便,而且linux下的GUI体验也没用Win 10好. 如果使用虚拟机,那么文件交换和网络等各种问题也需要解 ...
- Deepin / UOS 中配置 DTK 开发环境
文章目录 简版教程 准备 开启开发者模式 配置DTK 开发环境 验证 验证 C++ 开发环境 配置是否成功: 验证 DTK 开发环境 配置是否成功: 验证其它项目 命令配置更新 个人习惯 系列地址: ...
- IDEA中配置hadoop开发环境
IDEA中整合hadoop开发环境 前言: hadoop程序运行在分布式环境下,运行调试MapReduce只需要对应的hadoop相应的依赖jar包就可以,下面以是在伪分布模式下hadoop程序的开发 ...
- windows 中配置 Java 开发环境
配置 Java 开发环境 配置 Java 开发环境 第一步:找到我们需要安装的jdk8对应的安装软件jdk-8u74-windows-x64.exe *注意事项*: 在安装软件前使用cmd命令查看电脑 ...
- 在Visual Studio Code中配置GO开发环境
一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...
- mac java偏好设置_在 Mac中配置Java开发环境
最近买了一台mac pro,晚上在家写java,在配置环境的时候碰到很多问题,现在总结出来,提供给大家. 1.配置Tomcat 1.下载: 从apache官网(http://tomcat.apache ...
最新文章
- 实现Windows Phone、Android和iOS平台的统一硬件访问
- HDU - 1151 Air Raid(最小路径覆盖-二分图最大匹配)
- 智能路由器-OpenWRT 系列四 (挂载移动设备)
- css中的伪类与伪元素的区别
- sqlServer 如何查看数据库日志文件的大小
- php手机网页_使用PHPCMS搭建wap手机网站
- 普元eos根据查询条件导出excel表格
- 直播系统源码开发经验分享
- Systen类、Runtime类、Math类、Random类、包装类
- cad详图怎么画_CAD的图框应该怎么画? - CAD自学网
- AtCoder Grand Contest 007题解
- 【Scratch】青少年蓝桥杯_每日一题_3.01_画莲花
- (Android) 如何使用HOOK实现动态注入以及自动化操作
- json 转 实体对象 报解析错误
- 【CSS】CSS画矩形、圆、半圆、弧形、半圆、小三角、疑问框
- 我们这么努力到底为了什么
- 蝴蝶展翅鸿蒙云飞,关于蝴蝶的伤感句子 开辟鸿蒙,谁为情种?都只为风月情浓...
- 漫画:什么是 “跳表” ?
- Pycharm2018.2永久破解
- centos7如何安装视频播放器
热门文章
- python实现共轭梯度算法(含误差与运算次数的折线图)
- python 连接oracle学习
- 计算机系解说词,计算机室解说词
- 栈的pop和peek_从堆栈中移除项目,而不使用pop、peek、push
- 订餐系统项目中OrderForm、OrderDTO、OrderMaster和ResultVO的区别
- 安卓学习笔记23:常用控件 - 网格视图与图像切换器
- Java案例:HttpClient演示
- 3.过滤——高斯滤波器之Matlab、Octave实战、保持两个高斯直行_5
- python基础语法实验要求_Python基础语法-关于条件
- 2017.10.17 蜘蛛难题 思考记录