前提:最好使用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. WebFrom 【文件上传】

    文件上传 准备工作1.文件上传的页面2.上传文件要保存的文件夹 1.只要将文件传上来就行 //1.获取要上传的文件,并且知道要上传到服务器的路径 string s = "Uploads/aa ...

  2. Java框架之Struts2(六)

    一.OGNL表达式语言 Ognl Object Graphic Navigation Language(对象图导航语言),它是一种功能强大的表达式语言(Expression Language,简称为E ...

  3. JavaSE 常用类与其方法

    1.基本数据类型比较用:== 2.引用数据类型比较用:equals方法 如果引用数据类型使用==比较的话,比较的是地址值 toString类 对象调用toString()需要重写本方法: 在封装类中, ...

  4. 了解java虚拟机—G1回收器(9)

    G1(Garbage-First)回收器是在JDK1.7中正式使用的全新垃圾回收器,G1拥有独特的垃圾回收策略,从分代上看,G1依然属于分代垃圾回收器,它会区分年代和老年代,依然有eden和survi ...

  5. AOP,过滤器,监听器,拦截器【转载】

    面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承.多态和封装.而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配 ...

  6. ConcurrentHashMap底层实现原理(JDK1.8)源码分析

    ref:https://blog.csdn.net/xu768840497/article/details/79194701 http://www.cnblogs.com/leesf456/p/545 ...

  7. 【读书笔记】iOS-storyBoard-为一个按钮添加一个点击事件

    按照故事板的用语,应用中的一个界面屏幕被称作一个”场景(Scene)",以后添加额外的场景时,停靠区中将有另一个部分. 一,新建立一个工程,如图所示. 二,选中Main.storyboard ...

  8. python之线程相关操作(补充)

    1 线程的其他方法 import threading import time from threading import Thread, current_thread def f1(n): time. ...

  9. React 入门学习笔记整理(三)—— 组件

    1.定义组件 1)函数组件 function GreateH(props){ return <div> <h2>hello,{props.name}</h2> &l ...

  10. spring BeanFactory及ApplicationContext中Bean的生命周期

    spring bean 的生命周期 spring BeanFactory及ApplicationContext在读取配置文件后.实例化bean前后.设置bean的属性前后这些点都可以通过实现接口添加我 ...