【问题标题】:OS X NSTask error 22OS X NSTask 错误 22
【发布时间】:2013-11-16 12:02:23
【问题描述】:

我正在使用 pkgbuild 在 OS X 上构建一个简单的包,该包由一个文件夹和 pre/postinstall 脚本组成。当我尝试执行生成的包时,安装程​​序失败并在日志中显示以下消息:

11 月 1 日 13:28:11 localhost installd[631]: ./preinstall: 2013-11-01 13:28:11.074 installd[637:203] * NSTask: 为路径创建任务'/tmp/PKInstallSandbox.P6mPx2/Scripts/com.xyz.utility.pkg.TWwYct/preinstall' 失败:22,“无效参数”。终止临时进程。

安装程序以 root 身份运行。问题似乎不是脚本的内容,因为即使我使用解释器声明将它们缩减为简单的“退出 0”,它们也会失败。此问题出现在 10.8.2 和 10.8.4 上。

这个问题看起来像是从 NSTask 对象中抛出的异常,但我得到的只是这 22 个错误代码和“无效参数”消息。我认为此消息可能指的是 NSInvalidArgumentException。我确保脚本确实被放置在错误消息中列出的临时位置,并且它们具有正确的权限。

关于导致此类错误消息的原因有什么想法吗?当我进行一些搜索时,我发现了几个关于此错误的引用,但似乎没有统一的原因或解决方案。

【问题讨论】:

    标签: macos installation nstask pkgbuild


    【解决方案1】:

    #!/bin/sh 标头添加到预安装脚本中。

    【讨论】:

    • 这最终成为了问题。我在脚本中有这个,但是如果它之前有任何空格,安装程序就会窒息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多