'ld: unsupported tapi file type '!tapi-tbd' in YAML file
I am facing an error which running "npm install" (see picture attached)
- node version: 10.7.0, npm version: 6.1.0
- MacOs version: 10.15.6
It's a react native project (i'll be working on iOS part), and the package.json is as:
{
"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"
}
}
What I tried:
I installed watchman using brew install watchman, tried printing logs while installing packages but it didn't work for me.
Error Message:
Solution 1:[1]
I had a same problem when update os to Catalina, try to update(reinstall) llvm and gcc and then reinstall xcode command-line tools:
$ brew upgrade llvm
$ brew upgrade gcc
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install
you may need to restart the system
Solution 2:[2]
It seems that Command Line Tools for Xcode 12 is not compatible with macOS Catalina (or there are some missing packages within the CLT).
After removing it and installing Command Line Tools for Xcode 11.5, no more errors are generated like this.
Avoid me spending hours to download XCode just to get CLT working.
sudo rm -rf /Library/Developer/CommandLineTools
Solution 3:[3]
This issue blocks me for a long while, and I finally find the solution.
Yes, it is caused by incorrect CommandLineTools. But, do not use the latest CommandLineTool.
XCode 12 may occur this issue. So, the correct solution is, downgrade to 11.5!
Download Command Line Tools for Xcode 11.5 (not tested whether 11.6 and 11.7 work) from: https://developer.apple.com/download/more/
Remove existing CommandLineTools: sudo rm -rf /Library/Developer/CommandLineTools
install downloaded CommandLineTools.
Done.
Solution 4:[4]
I did
$ sudo xcode-select --switch /Library/Developer/CommandLineTools
and it fixed my problem.
Solution 5:[5]
This worked for me. Running Catalina
sudo rm -rf /Library/Developer/CommandLineTools
Download CommandLineTools 11.5 from developer.apple.com/all/ as suggested.
configure now works correctly
Solution 6:[6]
One solution for those who have Big Sur: the 11.5 command-line tool will not install with an error saying your macOS is too new. The 12.2 command-line tool downloaded from the Apple developer website worked for me (it can be installed without an issue and my code can be compiled without saying linker failure).
Solution 7:[7]
For those of us who use custom toolchains besides the default Xcode toolchains, I have found that this same error message could show up when using a custom toolchain that only works up to Xcode 11.7, in Xcode 12.4
Here's where you can check which toolchain you are using.
Switching the toolchain to "Xcode 12.4" resulted in the error going away.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | omnomnom |
Solution 2 | |
Solution 3 | jixuan1989 |
Solution 4 | theJian |
Solution 5 | Tobias S. |
Solution 6 | |
Solution 7 | auspicious99 |