最近想要魔改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-源码分析路程(一)相关推荐

  1. EOS智能合约:system系统合约源码分析

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. eosio.system 概览 笔者使用的IDE是VScode,首先来看eosio.system的源码结构.如下图所示. ...

  2. Runloop底层原理--源码分析

    什么是Runloop? Runloop不仅仅是一个运行循环(do-while循环),也是提供了一个入口函数的对象,消息机制处理模式.运行循环从两种不同类型的源接收事件. 输入源提供异步事件,通常是来自 ...

  3. 已触发了一个断点 vs_VSCode源码分析-断点调试

    背景 今年年初,有幸参与了阿里集团IDE 共建项目组,打造阿里生态体系内的公共IDE底层,而作为一款面向开发者的IDE,调试能力的支持一定程度上决定着一款IDE的开发体验:VSCode作为微软体系下一 ...

  4. android源码分析

    01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 ...

  5. 【精】EOS智能合约:system系统合约源码分析

    系统合约在链启动阶段就会被部署,是因为系统合约赋予了EOS链资源.命名拍卖.基础数据准备.生产者信息.投票等能力.本篇文章将会从源码角度详细研究system合约. 关键字:EOS,eosio.syst ...

  6. UnityStandardAsset工程、源码分析_5_赛车游戏[AI控制]_AI机制

    上一章地址: UnityStandardAsset工程.源码分析_4_赛车游戏[玩家控制]_摄像机控制 前几章我们已经将赛车游戏的绝大多数机制分析过了,而Unity还提供了不同的操控模式--AI控制. ...

  7. scroller类的用法完全解析以及带源码分析

    上一篇:scrollTo与scrollBy用法以及TouchSlop与VelocityTracker解析 通过上一篇内容对scrollTo与scrollBy用法以及TouchSlop与Velocity ...

  8. Android上百实例源码分析以及开源分析集合打包

    感谢网友banketree的收集,压缩包的内容如下: 1.360新版特性界面源代码 实现了360新版特性界面的效果,主要涉及到Qt的一些事件处理与自定义控件.但源码好像是c++. 2.aidl跨进程调 ...

  9. eos源码分析和应用(一)调试环境搭建

    转载自 http://www.limerence2017.com/2018/09/02/eos1/#more eos基于区块链技术实现的开源引擎,开发人员可以基于该引擎开发DAPP(分布式应用).下面 ...

  10. licode源码分析-线程模型

    licode源码分析-线程模型 服务器一般都会服务于大量的用户,所以服务端程序的性能往往决定服务用户的多少.现在服务器上的CPU都是多核的,服务端程序为了充分发挥CPU的性能,会使用多进程或多线程.而 ...

最新文章

  1. FreeBSD Top States
  2. 有什么值得推荐的Java Web练手项目?
  3. Longest Common Substring
  4. JDK 7,jdk1.7 安装及配置
  5. win7装ORACLE提示操作系统未验证或 Service Pack 未执行
  6. IAM页,IAM链表,分配单元
  7. 【华为云技术分享】云小课 | SAP容灾一点通
  8. NOX+ Open vSwitch安装相关命令【备份】
  9. 开放大学计算机应用基础第三次,江苏开放大学-计算机应用基础第三次.doc
  10. 【渝粤教育】国家开放大学2018年秋季 0222-21T模拟电子电路 参考试题
  11. 微信支付宝神仙打架,谁家健康码能一统天下?
  12. 别不把自己当有钱人 ——让白领族成为百万富翁族的六大理财秘籍
  13. 计算机网络设备是固定资产哪类,财政六大类常用固定资产分类及代码
  14. linux虚拟ip secondary ip primary ip;scope global secondary eth0 zuoxudong ;veth
  15. tomcat部署web应用及架设论坛
  16. js实现——鼠标单击事件-onclick和双击事件-ondblclick
  17. linux 复制文件提示略过目录xxx
  18. 嵌入式web服务器lighttpd的交叉编译及配置
  19. mapping 映射的简单操作
  20. excel自动计算体育成绩

热门文章

  1. termux写python教程_Termux 入门与实践
  2. APP Invertor 制作BLE蓝牙APP 控制esp32蓝牙小车
  3. NextCloud 最新官方源代码安装包及客户端下载
  4. activiti表结构 .pig4cloud
  5. 如何使用VSCode 的Setting Sync插件
  6. 【成长之路】本科比赛经验分享
  7. qt android双系统,传华为P50系列手机将会搭载Android、鸿蒙双系统版本
  8. android uiautomator 截屏,安卓系统手机用uiautomatorviewer.bat截图失败或者用adb截的图片打不开...
  9. 开发板对于学会单片机这件事重要吗?
  10. Mac电脑如何设置色彩滤镜?