【问题标题】:how to install different files for different platforms如何为不同的平台安装不同的文件
【发布时间】:2016-05-10 19:31:48
【问题描述】:

我正在使用 node/javascript 构建一个命令行工具,并希望将其作为 npm 模块提供。该工具需要一个包装 shell/windows 批处理脚本,但是如何为不同的平台安装不同的脚本呢?在 package.json 我有

"bin" : {
    "lookup-bat" : "./bin/lookup.bat", 
    "lookup-sh" : "./bin/lookup.sh"
}

但我希望使用相同的命令名称,无论平台如何。这可能吗?

【问题讨论】:

    标签: node.js npm npm-install command-line-tool


    【解决方案1】:

    通常你不介意。

    通常,./bin/lookup 是一个以相应的 shebang #!/usr/bin/env node 开头的 js 文件。

    NPM 完成剩下的工作。

    如果运行时操作系统的程序行为需要不同,你应该在你的程序中实现一种if(process.platform.match(/win/))

    【讨论】:

    • 问题是,节点脚本不依赖于平台,但包装脚本是。节点脚本的输出由包装脚本使用。
    • but the wrapper script is 呃?为什么会这样?不管那个脚本在做什么,我相信你应该用那个跨平台工具来做:NodeJS
    • 包装脚本执行 'cd ' 并且 cd 不能在节点脚本内完成,因为它在子 shell 中运行。
    • mh mh mh mh 也许:)
    猜你喜欢
    • 1970-01-01
    • 2021-06-24
    • 2012-02-13
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    相关资源
    最近更新 更多