我想为本机Node.js加载项分发预编好的二进制文件.
想必Node.js会在主要的颠簸之间发生变化,所以我想知道使用正确版本的node-pre-gyp运行Node.js是否会减少它,还是必须运行electron-rebuild并发布重建的二进制文件?
实验结果表明,在电子环境中运行时,节点预回转无法找到编译后的二进制文件。因此,electron-rebuild似乎做了一些事情来修补这个问题。
发布于 2018-03-13 11:32:00
我查看了electron-builder的源代码,发现它只是在包上运行install。
因此,有以下安装钩子就足够了:
node-pre-gyp install --fallback-to-build我不再直接使用electron-rebuild了,因为我一开始就生成了正确的二进制文件,但是我运行的electron-builder install-app-deps可能也有类似的功能。
在这一点上,我不认为有任何理由去费心于prebuild和prebuild-install。另外两个依赖项屏蔽了node-pre-gyp和node-gyp已经实现的内容。
我修改了travis脚本,以便并行运行节点和电子的构建:
# build for nodejs
- npm install --build-from-source
# build for electron
- npm install --build-from-source --runtime=electron --target=$ELECTRON_VERSION --dist-url=https://atom.io/download/atom-shell打包步骤必须使用相同的标志运行两次,即:
- if [[ "${TRAVIS_TAG}" != "" ]]; then npm run package --verbose; fi
- if [[ "${TRAVIS_TAG}" != "" ]]; then npm run package --runtime=electron --target=$ELECTRON_VERSION --verbose; fiTravis和Appveyor都支持上传到Github或S3,因此使用prebuild或node-pre-gyp-github (例如,Travis)没有任何好处:
deploy:
provider: releases
api_key:
secure: ENCRYPTED_KEY
file_glob: true
file: build/stage/$PACKAGE_VERSION/*.tar.gz
skip_cleanup: true
on:
tags: true发布于 2018-03-10 00:03:05
您可以使用prebuild为电子创建预构建的二进制文件。我们用它做leveldown。
https://stackoverflow.com/questions/49198482
复制相似问题