vscode-源码分析路程(一)
最近想要魔改vscode结果编译是遇到
error /Users/xxx/Documents/vscode/remote/node_modules/spdlog: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: /Users/xxx/Documents/vscode/remote/node_modules/spdlog
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@3.6.2
gyp info using node@8.10.0 | darwin | x64
gyp info spawn /usr/bin/python
gyp info spawn args [ '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/xxx/Documents/vscode/remote/node_modules/spdlog/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/xxx/.node-gyp/10.11.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/xxx/.node-gyp/10.11.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/v_chicunxiang/.node-gyp/10.11.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/xxx/Documents/vscode/remote/node_modules/spdlog',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp: name 'build_v8_with_gn' is not defined while evaluating condition 'build_v8_with_gn == "true"' in binding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xxx/Documents/vscode/remote/node_modules/spdlog
一直没有发现问题在哪里。
最后确定是node版本问题。升级10.0.0就ok了
下面说一下vscode的编译流程
1. 克隆代码
git clone https://github.com/microsoft/vscode.git
2. 进入目录后执行yarn
cd /xxx/vscode
yarn install
3. 运行
Run
To test the changes you launch a development version of VS Code on the workspace vscode
, which you are currently editing.
macOS and Linux
./scripts/code.sh
Windows
.\scripts\code.bat
运行遇到的坑
需要安装elecrton
https://github.com/electron/electron
如果安装不了,需要对node_modules进行权限。
sudo chmod -R 777 node_modules/
然后在进行yarn install。从新走以上流程
如何切换node版本
(1)安装node版本管理模块n
sudo npm install n -g
(2)安装稳定版
sudo n stable
(3)安装最新版
sudo n latest
(4) 版本降级/升级
sudo n 版本号
(5) 查看已安装的版本
sudo n
vscode-源码分析路程(一)相关推荐
- EOS智能合约:system系统合约源码分析
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. eosio.system 概览 笔者使用的IDE是VScode,首先来看eosio.system的源码结构.如下图所示. ...
- Runloop底层原理--源码分析
什么是Runloop? Runloop不仅仅是一个运行循环(do-while循环),也是提供了一个入口函数的对象,消息机制处理模式.运行循环从两种不同类型的源接收事件. 输入源提供异步事件,通常是来自 ...
- 已触发了一个断点 vs_VSCode源码分析-断点调试
背景 今年年初,有幸参与了阿里集团IDE 共建项目组,打造阿里生态体系内的公共IDE底层,而作为一款面向开发者的IDE,调试能力的支持一定程度上决定着一款IDE的开发体验:VSCode作为微软体系下一 ...
- android源码分析
01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 ...
- 【精】EOS智能合约:system系统合约源码分析
系统合约在链启动阶段就会被部署,是因为系统合约赋予了EOS链资源.命名拍卖.基础数据准备.生产者信息.投票等能力.本篇文章将会从源码角度详细研究system合约. 关键字:EOS,eosio.syst ...
- UnityStandardAsset工程、源码分析_5_赛车游戏[AI控制]_AI机制
上一章地址: UnityStandardAsset工程.源码分析_4_赛车游戏[玩家控制]_摄像机控制 前几章我们已经将赛车游戏的绝大多数机制分析过了,而Unity还提供了不同的操控模式--AI控制. ...
- scroller类的用法完全解析以及带源码分析
上一篇:scrollTo与scrollBy用法以及TouchSlop与VelocityTracker解析 通过上一篇内容对scrollTo与scrollBy用法以及TouchSlop与Velocity ...
- Android上百实例源码分析以及开源分析集合打包
感谢网友banketree的收集,压缩包的内容如下: 1.360新版特性界面源代码 实现了360新版特性界面的效果,主要涉及到Qt的一些事件处理与自定义控件.但源码好像是c++. 2.aidl跨进程调 ...
- eos源码分析和应用(一)调试环境搭建
转载自 http://www.limerence2017.com/2018/09/02/eos1/#more eos基于区块链技术实现的开源引擎,开发人员可以基于该引擎开发DAPP(分布式应用).下面 ...
- licode源码分析-线程模型
licode源码分析-线程模型 服务器一般都会服务于大量的用户,所以服务端程序的性能往往决定服务用户的多少.现在服务器上的CPU都是多核的,服务端程序为了充分发挥CPU的性能,会使用多进程或多线程.而 ...
最新文章
- FreeBSD Top States
- 有什么值得推荐的Java Web练手项目?
- Longest Common Substring
- JDK 7,jdk1.7 安装及配置
- win7装ORACLE提示操作系统未验证或 Service Pack 未执行
- IAM页,IAM链表,分配单元
- 【华为云技术分享】云小课 | SAP容灾一点通
- NOX+ Open vSwitch安装相关命令【备份】
- 开放大学计算机应用基础第三次,江苏开放大学-计算机应用基础第三次.doc
- 【渝粤教育】国家开放大学2018年秋季 0222-21T模拟电子电路 参考试题
- 微信支付宝神仙打架,谁家健康码能一统天下?
- 别不把自己当有钱人 ——让白领族成为百万富翁族的六大理财秘籍
- 计算机网络设备是固定资产哪类,财政六大类常用固定资产分类及代码
- linux虚拟ip secondary ip primary ip;scope global secondary eth0 zuoxudong ;veth
- tomcat部署web应用及架设论坛
- js实现——鼠标单击事件-onclick和双击事件-ondblclick
- linux 复制文件提示略过目录xxx
- 嵌入式web服务器lighttpd的交叉编译及配置
- mapping 映射的简单操作
- excel自动计算体育成绩
热门文章
- termux写python教程_Termux 入门与实践
- APP Invertor 制作BLE蓝牙APP 控制esp32蓝牙小车
- NextCloud 最新官方源代码安装包及客户端下载
- activiti表结构 .pig4cloud
- 如何使用VSCode 的Setting Sync插件
- 【成长之路】本科比赛经验分享
- qt android双系统,传华为P50系列手机将会搭载Android、鸿蒙双系统版本
- android uiautomator 截屏,安卓系统手机用uiautomatorviewer.bat截图失败或者用adb截的图片打不开...
- 开发板对于学会单片机这件事重要吗?
- Mac电脑如何设置色彩滤镜?