【发布时间】:2018-03-18 01:14:13
【问题描述】:
我想为 mac osx 创建一个安装程序
它应该执行以下操作
- 如果尚未安装 nodeJS,则安装它
- 下载 npm 包
- 运行 npm 命令
这可能吗?如何实现?
【问题讨论】:
我想为 mac osx 创建一个安装程序
它应该执行以下操作
这可能吗?如何实现?
【问题讨论】:
也许将应用程序打包为可执行文件而不是在目标机器上安装 node 和 npm 更适合您的工作流程?然后将 node 可执行文件和必要的 npm 模块包含在您的包中
如果是这样,这里有一些node的可执行生成包:
https://github.com/areve/node2exe
但我个人的建议是 pkg(我绝不隶属):
你可以告诉 pkg 只为你制作一个带有以下标志的 macos 二进制文件:
--targets macos-x64
您可能遇到的一个问题是带有已编译组件的 npm 包需要已编译组件的 .node 文件(在构建后在 node_modules 中可用),但此 .node 文件必须特定于目标平台、架构、以及编译代码所针对的节点版本。使用 pkg,您必须重新创建目标环境,然后构建并保存 . node 文件作为包的一部分(在与可执行文件相同的路径中)。 pkg 会告诉你这是否会成为问题
如果您需要在内置节点功能后进一步定制您的 osx 软件,您可以使用https://github.com/sveinbjornt/Platypus
【讨论】:
npm install nativefier -g 并且没有调用 nativefier "http://medium.com" 的 mac 上运行这个应用程序时,它不起作用。所以应用程序应该通过安装过程构建