前提:最好使用root用户可以排除一些不必要的错误。

一、 准备环境

Node.js(>= 8.12.0, < 9.0.0)

Python2.7

Yarn(可以通过npm install yarn -g 命令安装,前提必须安装好nodejs)

关于Node.js安装

curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install nodejs
nodejs -v #显示对应的版本号表示成功
npm -v #显示对应的版本号表示成功

为了使一些npm包能够工作(例如那些需要从源代码编译代码的包),您需要安装build-essential包:

sudo apt-get install build-essential

关于Python(Ubuntu16.04默认自带Python.27,通过如下命令软链接即可)

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python2. /usr/bin/python
python -V #显示2.7的版本号表示成功

关于Yarn

执行npm install yarn -g (全局安装yarn)

执行下面安装linux上所需环境依赖:

sudo apt-get install libx11-dev libxkbfile-dev

sudo apt-get install libsecret--dev

sudo apt-get install fakeroot rpm

二、 编译运行

(1)    使用git克隆项

git clone https://github.com/Microsoft/vscode.git

(2)    进入项目

cd vscode

(3)    执行yarn下载所需依赖

yarn

(4)    启动监听

yarn watch

(5)    启动脚本

./script/code.sh或者bash code.sh 

控制台正常结果如下:

三、 打包

yarn run gulp -- vscode-platform
platform可以为如下(根据不同的平台选择不同的类型):
win32-ia32 | win32-x64 | darwin | linux-ia32 | linux-x64 | linux-arm

以linux为例(打包成功,命令为yarn run gulp -- vscode-linux-x64)显示如下:

四、 可能错误

错误信息一:

.build/electron/code-oss: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory

解决办法:

sudo apt-get install build-essential

sudo apt-get install libgtk-3-dev

错误信息二:

.build/electron/code-oss: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

解决办法:

sudo apt-get install libxss1

错误信息三:

.build/electron/code-oss: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory

解决办法:

sudo apt-get install libasound2

错误信息四:

以打包exe为例,执行yarn run gulp -- vscode-win32-x64(在linux打包exe)

会出现上述问题,解决办法是多次执行yarn run gulp -- vscode-win32-x64 即可解决

打包成功的标志如下:

Linux上VsCode编译打包运行的更多相关文章

  1. 使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0

    使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0 网上的 MapReduce WordCount 教程对于如何编译 WordCount.java 几乎是一笔带过… 而有写到的 ...

  2. Linux上安装编译工具链

    在Linux上安装编译工具链,安装它会依赖dpkg-dev,g++,libc6-dev,make等,所以安装之后这些依赖的工具也都会被安装.ubuntu软件库中这么描述 Informational l ...

  3. Tesseract-OCR4.0版本在VS2015上的编译与运行(转)

    最近刚开始接触识别库引擎方面的知识,由于项目中需要使用光学识别处理模块,在老师与朋友的推荐下,我开始接触tesseract光学识别库,在最开始从GitHub上下载的源代码进行编译的时候,出现了许多意想 ...

  4. linux上的编译安装

    计算机运行的程序都是二进制的代码,那么我们所用的编程语言都是自然语言中的字符,那么就需要有一种机制来将这些转化成二进制代码,那么根据转化机制不一样,编程语言(软件 产生的源头)分两大类 解释型 编译型 ...

  5. 基于QEMU的ARM Cortex-A9开发板Vexpress-ca9的Linux内核的编译和运行

    宿主机:Ubuntu16.04 x64(Linux内核4.4.0) 交叉编译工具链:gcc-arm-linux-gnueabiarm-linux-gcc:4.4.3QEMU:2.5.0Linux ke ...

  6. Linux上成功编译CoreCLR源代码

    >>Build日期:2015-2-5下午(编译失败). 开始Linux发行版用的是CentOS 6.5,操作步骤: 1)配置git: git config --global http.ss ...

  7. 《TCP/IP高效编程:改善网络程序的44个技巧》源码在Linux上的编译

    为了先完整编译通过,需要以下几个步骤: 1.进入linux子目录,执行 make.(此步骤为打补丁.) 2.返回上一级目录,打开文件 simplec.c,添加头文件 #include <stdi ...

  8. qtav----ffmeg在ubuntu和win10上的编译和运行

    最近在windows上和ubuntu上都安装了qtav并且通过了编译测试,实测播放中英文的视频文件功能正常,有图像有声音. 大致情况是,操作系统ubuntu: wkr@sea-X550JK:~$ ca ...

  9. linux上jar包的运行

    指定目录: #!/bin/bash source /etc/profile log() { echo `date +[%Y-%m-%d" "%H:%M:%S]` $1 } log ...

随机推荐

  1. 怎样删除C/C++代码中的所有注释?浅谈状态机的编程思想

    K&R习题1-23中,要求“编写一个程序,删除C语言程序中所有的注释语句.要正确处理带引号的字符串与字符常量.在C语言中,注释不允许嵌套”. 如果不考虑字符常量和字符串常量,问题确实很简单.只 ...

  2. design mode(php)

    前段时间看了下设计模式 参考,以及head first设计模式,简要如下 ## OO原则 * 封装变化* 多用组合,少用继承* 针对接口编程,不针对实现编程* 为交互对象之间的松耦合设计而努力* 开闭 ...

  3. Django Rest framework 之 权限

    django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) django res ...

  4. PHP: Browser, Operating System (OS), Device, and Language Detect

    https://github.com/sinergi/php-browser-detector Device.php: <!DOCTYPE html> <html> <h ...

  5. react组件中的constructor和super小知识

    react组件中的constructor和super小知识 1.react中用class申明的类一些小知识 如上图:类Child是通过class关键字申明,并且继承于类React. A.Child的类 ...

  6. [工作总结]jQuery在工作开发中常用代码片段集锦(1-10)

    1.jQuery,JS实现tab切换 原生JS实现 HTML代码如下: <div class="wrap"> <ul id="tag"> ...

  7. Javascript异步编程之三Promise: 像堆积木一样组织你的异步流程

    这篇有点长,不过干货挺多,既分析promise的原理,也包含一些最佳实践,亮点在最后:) 还记得上一节讲回调函数的时候,第一件事就提到了异步函数不能用return返回值,其原因就是在return语句执 ...

  8. java设计模式学习

    每次面试都需要看设计模式,每次都很好的理解了,但是实际开发中没有应用总是忘记.现在把它汇总一下. 二十三种设计模式 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模 ...

  9. matlab练习程序(Levenberg-Marquardt法最优化)

    上一篇博客中介绍的高斯牛顿算法可能会有J'*J为奇异矩阵的情况,这时高斯牛顿法稳定性较差,可能导致算法不收敛.比如当系数都为7或更大的时候,算法无法给出正确的结果. Levenberg-Marquar ...

  10. C#获取H5页面上传图片代码

    基于上一篇的H5压缩上传图片,由于图片是以二进制字符流blob的形式传过来的,所以应该想将其转成bytes类型再进行转换 public void ProcessRequest(HttpContext ...