Linux上VsCode编译打包运行
前提:最好使用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.7 /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-1-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 即可解决
打包成功的标志如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?