打字稿错误TS2688:找不到'.AppleDouble'的类型定义文件

时间:2017-09-15 13:36:01

标签: node.js macos typescript

我正在开发一个NodeJS项目,该项目在我的Mac上使用TypeScript与OSX 10.12.6该项目位于一个在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"
    ]
}

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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