我正在开发一个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"
]
}
答案 0 :(得分:0)
这不是我首选的解决方案,但它至少可行:
事实证明我在服务器上使用Netatalk通过AFP在网络上共享我的项目文件夹。事实证明,AFP不断将.AppleDouble
文件写入网络共享。
我切换到使用Samba共享文件夹,OSX不再写任何.AppleDouble
文件到共享。
要递归删除所有.AppleDouble
个文件,请使用:
find ./ -depth -name ".AppleDouble" -exec rm -Rf {} \;