Windows下运行Eclipse Theia源码指南

原创
2020/04/05 21:19
阅读数 4.5K

目前在前端开发领域,大家开始逐渐对IDE也重视起来,VSCode自然是用的飞起,而阿里也在搞自己的IDE。 最近,Eclipse基金会刚刚发布了Theia 1.0( https://www.oschina.net/news/114589/eclipse-theia-1-0-released ),号称对标VSCode,这么好玩的东西自然是需要把源码搞一份下来看看。

只是,在Windows上要把跑源码跑起来,似乎并不是clone源码,再yarn一下这么简单,几乎是一把趟坑血泪史。为了造福广大程序员,少掉几根头发,在此发挥国际主义精神,分享一下经验,供各位参考。步骤写的多,有些东西已经安装过的同学,可以跳过。

1、安装nvm:
Theia需要使用node 10,nvm作为node管理神器,则是必备的。 nvm的下载和使用可以参见: https://www.jianshu.com/p/cbf4f76ba0bb

2、安装node:
注意需要node 10版本,笔者这里用的是10.13.0

nvm install 10.13.0

安装完成后,设定当前使用版本为10.13.0

nvm use 10.13.0

由于某些众所周知的原因,接下来需要配置一下一些资源相关的的镜像源。配置文件位于node安装目录(请各位同学自行寻找)的etc目录下,打开npmrc文件(如无可自行新建),添加如下代码:

registry=https://registry.npm.taobao.org/
chromedriver_cdnurl=https://npm.taobao.org/mirrors/chromedriver
phantomjs_cdnurl=http://npm.taobao.org/mirrors/phantomjs
operadriver_cdnurl=http://npm.taobao.org/mirrors/operadriver
ELECTRON_MIRROR=https://cdn.npm.taobao.org/dist/electron/

其实只有部分是必须的,笔者把自己用的都贴上来了

3、安装yarn和node-gyp

npm i -g yarn
npm i -g node-gyp

4、安装python环境

  • 安装anaconda 在Theia安装依赖包和编译的过程中,需要用到python 2.x。大家可以自行安装,不过笔者更推荐用anaconda来做python环境管理。 anaconda下载地址见:https://www.anaconda.com/distribution/
    为了提升速度,推荐使用国内的镜像站点:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
    目前最新的版本是5.3.1,直接拉到最后,下载即可。
    下载完成后,双击exe安装,接下来地球人都懂得,下一步->下一步->完成,就是这么简单。
  • 配置anaconda镜像源
    为了提升后续环境配置下载速度,需要配置一下国内的镜像源,方法参见:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
    提示:.condarc文件一般位于“C:\Users\你的用户名\“目录下
  • 创建python2.7环境 打开anaconda navigator,按照图示中箭头指出的菜单,配置python2.7环境
    点击create后,静待安装完成即可。 安装完成以后,环境列表中会出来一个py27(这个名字是自己起的,后面会用到)

5、安装Visual Studio 2019
(注意不是VS Code) 下载地址见:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=16 在安装向导中,注意选择“使用C++的桌面开发”,如图所示:

选好以后,切到“单个组件”选项卡,勾选上MSVC v140和MSVC v141

其实后面的安装和编译只需要VS2017对应的编译工具,即MSVC v141,但是为了保险起见,把VS2015也选上(磁盘空间大就是任性)
如果不勾选的话,后面在yarn的时候,会报一个找不到VS2017的错误

6、Clone Theia源码

git clone https://github.com/eclipse-theia/theia

这一步简单,地球人都会了

7、安装依赖包
首先,所有命令都需要在anaconda的命令行环境中进行,否则找不到python执行文件。从开始菜单的“Anaconda Prompt”快捷方式即可打开anaconda命令行。
接下来,切到python 2.7环境

activate py27

注意,py27是之前配置环境时自己起的名字。
然后,我们切换到theia目录(具体路径视自己情况而定)

cd theia

这里关键的一步,是需要设置一个环境变量

SET PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1

如果不设置的话,在安装依赖包时会卡在安装puppeteer上,原因是它会去下载Chrome,由于某些众所周知的原因,这是一个不可能完全的任务。这里,我们选择跳过去(有梯子的同学可以无视,不过出于洁癖还是不希望它背后给我下个东西)
接下来可以yarn了

yarn

耐心等待依赖包安装完成(是的,这里就是一句话,然而能正常安装并执行脚本,是笔者来回折腾N久的结果,泪)

8、运行源码 终于到了激动人心的时候了,输入

yarn start:electron

哇喔!成功了:

趟坑不易,各位看官觉得有用就点个赞


2020/08/08 补充 theia的post install脚本会去https://open-vsx.org/ 下载必要的插件,这个网站非常不稳定,目测是时不时墙一下
暂时没有较好的替代方案

展开阅读全文
加载中
点击加入讨论🔥(16) 发布并加入讨论🔥
16 评论
1 收藏
2
分享
返回顶部
顶部