如何从确定的路径中删除 usr/local/include 中的所有符号链接

Posted

技术标签:

【中文标题】如何从确定的路径中删除 usr/local/include 中的所有符号链接【英文标题】:How to remove all symlinks in usr/local/include from a determined path 【发布时间】:2020-04-05 21:38:04 【问题描述】:

我在编译具有一些 C++ 依赖项的 Ruby 库时遇到了一些问题。我在某处读到添加以下代码可以解决问题:

sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/

但是现在当我运行swift build 时,我得到了这个错误:

/Users/me/Repository/myproject-swift: error: manifest parse error(s):
/usr/local/include/libxml2/libxml/module.modulemap:1:8: error: redefinition of module 'libxml2'
module libxml2 [system] [extern_c] 
       ^
/usr/local/include/libxml2/module.modulemap:1:8: note: previously defined here
module libxml2 [system] [extern_c] 
       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/module.modulemap:1:8: error: redefinition of module 'AppleTextureEncoder'
module AppleTextureEncoder [system] [extern_c] 

朋友建议的解决方案是删除usr/local/include中的所有符号链接,当我列出它时,符号链接的数量很大。如何从以下路径中删除符号链接?

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/*

谢谢!

【问题讨论】:

【参考方案1】:

要删除提供的该路径的所有不需要的符号链接,请运行:

find usr/local/include -lname '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/*' -delete

来源:https://unix.stackexchange.com/a/39341/404343

【讨论】:

以上是关于如何从确定的路径中删除 usr/local/include 中的所有符号链接的主要内容,如果未能解决你的问题,请参考以下文章

MinGW GCC.exe 从路径中删除所有 \

如何确定可以从序列中删除子序列的所有可能方式?

如何从批处理脚本中的文件路径中删除最后一个“\”

如何添加环境变量或路径添加到系统的Path里面

如何从 Bash 中的路径字符串中删除文件后缀和路径部分?

如何从路径和文件名中删除非法字符?