美文网首页
marktext 编译

marktext 编译

作者: 王国的荣耀 | 来源:发表于2022-02-16 17:03 被阅读0次

    marktext 编译过程

    编译尝试

    1. 编译发布的release版本失败。
    2. 克隆代码失败
    3. 获取最新的开发版本失败

    开发版本编译接近成功

    npm config set ELECTRON_MIRROR https://npm.taobao.org/electron/

    yarn run build 失败
    失败原因:
    electron-v13.6.9-darwin-x64.zip未能下载成功。

    解决方法:

    1. https://github.com/electron/electron/releases 下载对应的版本。
    2. cd ~/Library/Caches/electron
    3. 将对应版本的electron-v13.6.9-darwin-x64.zip和SHASUMS256.txt拷贝到此目录下。
    4. 继续编译。

    yarn run build 继续失败
    失败提示:unable to build chain to self-signed root for signer,CodeSign failed
    失败原因: 签名失败。

    Electron-Mac应用的签名步骤说明

    编译发布的版本:失败

    Cocoa/Cocoa.h 引用错误

    #import <Cocoa/Cocoa.h>
    ^~~~~~~~~~~~~~~
    1 error generated.
    
    To Reproduce
    Steps to reproduce the behaviour:
    

    导入Cocoa存在编译错误,
    运行: xcrun --sdk macosx --show-sdk-path
    export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk
    添加SDKROOT添加到环境变量中,.bash_profile中。

    export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk
    

    node-addon-api 引用错误

    ⠙ Building module: keytar, Completed: 5In file included from ../src/async.cc:4:
    In file included from ../node_modules/node-addon-api/napi.h:2981:
    ../node_modules/node-addon-api/napi-inl.h:1837:24: error: use of undeclared identifier 'napi_detach_arraybuffer'
      napi_status status = napi_detach_arraybuffer(_env, _value);
                           ^
    ⠹ Building module: keytar, Completed: 54 errors generated.
    make: *** [Release/obj.target/keytar/src/async.o] Error 1
    ✖ Rebuild Failed
    
    An unhandled error occurred inside electron-rebuild
    node-gyp failed to rebuild '/Users/demo/Downloads/code/marktext-0.16.3/node_modules/keytar'.
    Error: `make` failed with exit code: 2
    
    Error: node-gyp failed to rebuild '/Users/demo/Downloads/code/marktext-0.16.3/node_modules/keytar'.
    Error: `make` failed with exit code: 2
    
        at ModuleRebuilder.rebuildNodeGypModule (/Users/demo/Downloads/code/marktext-0.16.3/node_modules/electron-rebuild/lib/src/module-rebuilder.js:193:19)
        at runMicrotasks (<anonymous>)
        at processTicksAndRejections (node:internal/process/task_queues:96:5)
        at async Rebuilder.rebuildModuleAt (/Users/demo/Downloads/code/marktext-0.16.3/node_modules/electron-rebuild/lib/src/rebuild.js:190:9)
        at async Rebuilder.rebuild (/Users/demo/Downloads/code/marktext-0.16.3/node_modules/electron-rebuild/lib/src/rebuild.js:152:17)
        at async /Users/demo/Downloads/code/marktext-0.16.3/node_modules/electron-rebuild/lib/src/cli.js:146:9
    error Command failed with exit code 255.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    error Command failed with exit code 255.
    info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
    

    需要对应的node-addon-api版本。
    解决: 升级package.json各个第三方库。

    node 镜像源

    搜索地址:http://cnpmjs.org/
    registry地址:http://r.cnpmjs.org/
    使用方法:
    临时使用npm --registry https://registry.npm.taobao.org install express
    持久使用npm config set registry https://registry.npm.taobao.org

    配置完成后可通过命令验证
    npm config get registry

    相关文章

      网友评论

          本文标题:marktext 编译

          本文链接:https://www.haomeiwen.com/subject/xdhllrtx.html