【问题标题】:ld: unsupported tapi file type '!tapi-tbd' in YAML fileld: YAML 文件中不支持的 tapi 文件类型 '!tapi-tbd'
【发布时间】:2020-12-14 22:44:37
【问题描述】:

我遇到了运行“npm install”的错误(见附图)

  • 节点版本:10.7.0,npm 版本:6.1.0
  • MacOs 版本:10.15.6

这是一个 react native 项目(我将在 iOS 部分工作),package.json 如下:

{
    "name": "abc",
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "postinstall": "./postinstall.sh",
        "start": "react-native start",
        "test": "jest"
    },
    "dependencies": {
        "alt": "^0.18.6",
        "alt-utils": "^2.0.0",
        "axios": "^0.19.2",
        "enumify": "^1.0.4",
        "fs": "0.0.1-security",
        "native-navigation": "https://github.com/abc/native-navigation.git",
        "prop-types": "^15.6.0",
        "react": "16.9.0",
        "react-native": "^0.63.2",
        "react-native-fs": "^2.14.1",
        "react-native-iphone-x-helper": "^1.0.2",
        "react-native-keyboard-aware-scroll-view": "^0.4.2",
        "react-native-multi-validation": "^1.0.0",
        "react-native-navigation": "2.0.2179",
        "react-native-simple-radio-button": "^2.7.1",
        "react-native-webview": "6.0.2",
        "snakecase-keys": "^1.1.0",
        "urijs": "^1.19.0"
    },
    "devDependencies": {
        "@babel/core": "^7.6.2",
        "@babel/runtime": "^7.6.2",
        "babel-jest": "^24.9.0",
        "jest": "^24.9.0",
        "metro-react-native-babel-preset": "^0.56.0",
        "babel-plugin-module-resolver": "2.3.0",
        "babel-preset-es2015": "^6.24.1",
        "babel-preset-react-native": "4.0.1",
        "react-test-renderer": "16.9.0"
    },
    "jest": {
        "preset": "react-native"
    }
}

我尝试了什么:

我使用 brew install watchman 安装了 watchman,尝试在安装包时打印日志,但它对我不起作用。

错误信息:

【问题讨论】:

    标签: node.js macos react-native


    【解决方案1】:

    我做到了

    $ sudo xcode-select --switch /Library/Developer/CommandLineTools
    

    它解决了我的问题。

    【讨论】:

      【解决方案2】:

      对于拥有 Big Sur 的用户的一个解决方案:11.5 命令行工具将无法安装,并显示您的 macOS 太新的错误。 从 Apple 开发者网站下载的 12.2 命令行工具对我有用(它可以毫无问题地安装,并且我的代码可以编译而不会说链接器失败)。

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      【解决方案3】:

      这对我有用。运行卡特琳娜

      sudo rm -rf /Library/Developer/CommandLineTools
      

      按照建议从 developer.apple.com/all/ 下载 CommandLineTools 11.5。

      配置现在可以正常工作

      【讨论】:

        【解决方案4】:

        Xcode 12 的命令行工具似乎与 macOS Catalina 不兼容(或者 CLT 中缺少一些包)。

        删除它并安装 Xcode 11.5 的命令行工具后,不会再产生这样的错误。

        避免我为了让 CLT 工作而花费数小时下载 XCode。

        sudo rm -rf /Library/Developer/CommandLineTools
        

        【讨论】:

        • +1 我花了 2 天时间进行故障排除,然后才意识到命令行工具的版本可能与 xcode 不同。
        【解决方案5】:

        这个问题困扰了我好久,终于找到解决办法了。

        是的,它是由不正确的 CommandLineTools 引起的。但是,不要使用最新的 CommandLineTool。

        XCode 12 可能会出现这个问题。所以,正确的解决方案是,降级到 11.5

        1. https://developer.apple.com/download/more/ 下载 Xcode 11.5 的命令行工具(未测试 11.6 和 11.7 是否工作)

        2. 删除现有的 CommandLineTools:sudo rm -rf /Library/Developer/CommandLineTools

        3. 安装下载的 CommandLineTools。

        完成。

        【讨论】:

        • Xcode 11.5 的命令行工具无法与 macOS 版本 11.2.3 一起安装。安装提示说macOS版本太新。有什么想法吗?
        • 我在 macOS Big Sur 上也遇到了这个错误,由于不兼容,无法恢复到 11.5。有没有办法强制 macOS 安装可能不兼容的版本或手动修补错误?任何建议将不胜感激。
        【解决方案6】:

        我在更新操作系统到 Catalina 时遇到了同样的问题,尝试更新(重新安装)llvm 和 gcc,然后重新安装 xcode 命令行工具:

        $ brew upgrade llvm
        $ brew upgrade gcc
        $ sudo rm -rf /Library/Developer/CommandLineTools
        $ xcode-select --install
        

        您可能需要重新启动系统

        【讨论】:

        • 很遗憾,这会导致“无法安装该软件,因为软件更新服务器当前不提供该软件”。如果我直接从 Apple Developer 站点的 DMG 安装它,我会收到来自 OP 的相同错误。
        • 我不确定,但你可以尝试使用命令sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        • 我得到:错误:llvm 未安装。如果不存在,也许值得建议安装。
        • 据我了解,此错误是由系统链接器引起的(使用旧链接器和新 sdk?)。就我而言,我正在尝试编译 go 代码。对于 nodejs,它会尝试安装用 c/c++ 编写的模块并为此使用 clang(llvm) 或 gcc,但两种变体都使用“系统链接器”,它返回相同的错误。在您的情况下,llvm 可能不用于编译模块,或者它不是通过“brew”安装的,所以如果没有明确要求,那么您不能安装它,以及 gcc。
        猜你喜欢
        • 2021-09-25
        • 1970-01-01
        • 2023-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多