【问题标题】:Typescript error TS2688: Cannot find type definition file for '.AppleDouble'Typescript 错误 TS2688:找不到“.AppleDouble”的类型定义文件
【发布时间】:2018-02-24 17:24:34
【问题描述】:

我正在开发一个 NodeJS 项目,该项目在我的 Mac 和 OSX 10.12.6 上使用 TypeScript 该项目位于在 RPI 上运行的网络共享上(由于 RPI 上连接了硬件,因此无法在本地开发)。

当我运行 tsc -p tsconfig.json 时,我得到:

error TS2688: Cannot find type definition file for '.AppleDouble'.

由于我正在处理网络共享,结果发现所有文件夹都被.AppleDouble 文件污染。

删除这些文件后使用:

find . -name '.AppleDouble' -print0 | xargs -0 rm -rf

我可以毫无问题地编译。问题是 OSX 不断将这些“.AppleDouble”文件写入我的网络共享。

在旧版本的 OSX 中,您可以使用以下命令禁用此功能:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

但是看起来这些在 OSX 10.12 中不再起作用了。有像 BlueHarvest 这样的工具,但它们不会阻止创建,而只会自动删除它们。

有谁知道如何防止在网络共享上创建.AppleDouble 文件或使Typescript 编译器工作以忽略.AppleDouble 的解决方案?

我的 tsconfig.json:

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es6",
        "noImplicitAny": false,
        "sourceMap": false,
        "rootDir": "src-ts",
        "outDir": "build"
    },
    "exclude": [
        "build",
        "node_modules",
        ".AppleDouble"
    ]
}

【问题讨论】:

    标签: node.js macos typescript


    【解决方案1】:

    这不是我喜欢的解决方案,但它至少是可行的:

    原来我在我的服务器上使用 Netatalk 通过 AFP 在网络上共享我的项目文件夹。事实证明,AFP 一直在将.AppleDouble 文件写入网络共享。

    我切换到使用 Samba 共享文件夹,而 OSX 不再向共享写入任何 .AppleDouble 文件。

    要递归删除所有 .AppleDouble 文件,请使用:

    find ./ -depth -name ".AppleDouble" -exec rm -Rf {} \;

    【讨论】:

      猜你喜欢
      • 2017-09-08
      • 2019-07-10
      • 2021-05-14
      • 1970-01-01
      • 2022-10-20
      • 2018-03-09
      • 2018-02-18
      • 2019-05-11
      • 2018-07-23
      相关资源
      最近更新 更多