Closed
Description
Environment
info Fetching system and libraries information...
System:
OS: macOS 10.14.5
CPU: (4) x64 Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz
Memory: 4.87 GB / 20.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 12.4.0 - ~/.nvm/versions/node/v12.4.0/bin/node
Yarn: 1.16.0 - ~/.nvm/versions/node/v12.4.0/bin/yarn
npm: 6.9.0 - ~/.nvm/versions/node/v12.4.0/bin/npm
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 27, 28, 29
Build Tools: 27.0.3, 28.0.3, 29.0.0
System Images: android-27 | Intel x86 Atom_64, android-28 | Intel x86 Atom_64, android-29 | Intel x86 Atom_64
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5522156
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.0 => 0.60.0
Description
I have a project use monorepo with yarn workspace feature.
it's fail when I cd ios && pod install
.
Detected React Native module pods for RNRippleView, react-native-video, and react-native-webview
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `RNRippleView` from `../`
[!] No podspec found for `RNRippleView` in `../`
then I run react-native config
Details
{
"root": "/Users/flyboy/.dee/yozman/yoboto-app",
"reactNativePath": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native",
"dependencies": {
"react-native-touchable-ripple": {
"root": "/Users/flyboy/.dee/yozman/yoboto-app/packages/react-native-touchable-ripple",
"name": "react-native-touchable-ripple",
"platforms": {
"ios": {
"sourceDir": "/Users/flyboy/.dee/yozman/yoboto-app/packages/react-native-touchable-ripple/ios",
"folder": "/Users/flyboy/.dee/yozman/yoboto-app/packages/react-native-touchable-ripple",
"pbxprojPath": "/Users/flyboy/.dee/yozman/yoboto-app/packages/react-native-touchable-ripple/ios/RNRippleView.xcodeproj/project.pbxproj",
"podfile": null,
"podspecPath": "/Users/flyboy/.dee/yozman/yoboto-app/packages/react-native-touchable-ripple/RNRippleView.podspec",
"projectPath": "/Users/flyboy/.dee/yozman/yoboto-app/packages/react-native-touchable-ripple/ios/RNRippleView.xcodeproj",
"projectName": "RNRippleView.xcodeproj",
"libraryFolder": "Libraries",
"sharedLibraries": [],
"plist": []
},
"android": null
},
"assets": [],
"hooks": {},
"params": []
},
"react-native-video": {
"root": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-video",
"name": "react-native-video",
"platforms": {
"ios": {
"sourceDir": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-video/ios",
"folder": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-video",
"pbxprojPath": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-video/ios/RCTVideo.xcodeproj/project.pbxproj",
"podfile": null,
"podspecPath": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-video/react-native-video.podspec",
"projectPath": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-video/ios/RCTVideo.xcodeproj",
"projectName": "RCTVideo.xcodeproj",
"libraryFolder": "Libraries",
"sharedLibraries": [],
"plist": []
},
"android": {
"sourceDir": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-video/android-exoplayer",
"folder": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-video",
"packageImportPath": "import com.brentvatne.react.ReactVideoPackage;",
"packageInstance": "new ReactVideoPackage()"
}
},
"assets": [],
"hooks": {},
"params": []
},
"react-native-webview": {
"root": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-webview",
"name": "react-native-webview",
"platforms": {
"ios": {
"sourceDir": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-webview/ios",
"folder": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-webview",
"pbxprojPath": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-webview/ios/RNCWebView.xcodeproj/project.pbxproj",
"podfile": null,
"podspecPath": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-webview/react-native-webview.podspec",
"projectPath": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-webview/ios/RNCWebView.xcodeproj",
"projectName": "RNCWebView.xcodeproj",
"libraryFolder": "Libraries",
"sharedLibraries": [],
"plist": []
},
"android": {
"sourceDir": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-webview/android",
"folder": "/Users/flyboy/.dee/yozman/yoboto-app/node_modules/react-native-webview",
"packageImportPath": "import com.reactnativecommunity.webview.RNCWebViewPackage;",
"packageInstance": "new RNCWebViewPackage()"
}
},
"assets": [],
"hooks": {},
"params": []
}
},
"commands": [
{
"name": "log-ios",
"description": "starts iOS device syslog tail"
},
{
"name": "run-ios",
"description": "builds your app and starts it on iOS simulator",
"examples": [
{
"desc": "Run on a different simulator, e.g. iPhone 5",
"cmd": "react-native run-ios --simulator \"iPhone 5\""
},
{
"desc": "Pass a non-standard location of iOS directory",
"cmd": "react-native run-ios --project-path \"./app/ios\""
},
{
"desc": "Run on a connected device, e.g. Max's iPhone",
"cmd": "react-native run-ios --device \"Max's iPhone\""
},
{
"desc": "Run on the AppleTV simulator",
"cmd": "react-native run-ios --simulator \"Apple TV\" --scheme \"helloworld-tvOS\""
}
],
"options": [
{
"name": "--simulator [string]",
"description": "Explicitly set simulator to use. Optionally include iOS version betweenparenthesis at the end to match an exact version: \"iPhone 6 (10.0)\"",
"default": "iPhone X"
},
{
"name": "--configuration [string]",
"description": "Explicitly set the scheme configuration to use",
"default": "Debug"
},
{
"name": "--scheme [string]",
"description": "Explicitly set Xcode scheme to use"
},
{
"name": "--project-path [string]",
"description": "Path relative to project root where the Xcode project (.xcodeproj) lives.",
"default": "ios"
},
{
"name": "--device [string]",
"description": "Explicitly set device to use by name. The value is not required if you have a single device connected."
},
{
"name": "--udid [string]",
"description": "Explicitly set device to use by udid"
},
{
"name": "--no-packager",
"description": "Do not launch packager while building"
},
{
"name": "--verbose",
"description": "Do not use xcpretty even if installed"
},
{
"name": "--port [number]",
"default": 8081
},
{
"name": "--terminal [string]",
"description": "Launches the Metro Bundler in a new window using the specified terminal path."
}
]
},
{
"name": "log-android",
"description": "starts logkitty"
},
{
"name": "run-android",
"description": "builds your app and starts it on a connected Android emulator or device",
"options": [
{
"name": "--root [string]",
"description": "Override the root directory for the android build (which contains the android directory)",
"default": ""
},
{
"name": "--variant [string]",
"description": "Specify your app's build variant",
"default": "debug"
},
{
"name": "--appFolder [string]",
"description": "Specify a different application folder name for the android source. If not, we assume is \"app\"",
"default": "app"
},
{
"name": "--appId [string]",
"description": "Specify an applicationId to launch after build.",
"default": ""
},
{
"name": "--appIdSuffix [string]",
"description": "Specify an applicationIdSuffix to launch after build.",
"default": ""
},
{
"name": "--main-activity [string]",
"description": "Name of the activity to start",
"default": "MainActivity"
},
{
"name": "--deviceId [string]",
"description": "builds your app and starts it on a specific device/simulator with the given device id (listed by running \"adb devices\" on the command line)."
},
{
"name": "--no-packager",
"description": "Do not launch packager while building"
},
{
"name": "--port [number]",
"default": 8081
},
{
"name": "--terminal [string]",
"description": "Launches the Metro Bundler in a new window using the specified terminal path."
},
{
"name": "--tasks [list]",
"description": "Run custom Gradle tasks. By default it's \"installDebug\""
},
{
"name": "--no-jetifier",
"description": "Do not run \"jetifier\" – the AndroidX transition tool. By default it runs before Gradle to ease working with libraries that don't support AndroidX yet. See more at: https://www.npmjs.com/package/jetifier.",
"default": false
}
]
}
],
"assets": [],
"platforms": {
"ios": {},
"android": {}
},
"haste": {
"providesModuleNodeModules": [
"react-native"
],
"platforms": [
"ios",
"android"
]
},
"project": {
"ios": {
"sourceDir": "/Users/flyboy/.dee/yozman/yoboto-app/ios",
"folder": "/Users/flyboy/.dee/yozman/yoboto-app",
"pbxprojPath": "/Users/flyboy/.dee/yozman/yoboto-app/ios/yoboto.xcodeproj/project.pbxproj",
"podfile": "/Users/flyboy/.dee/yozman/yoboto-app/ios/Podfile",
"podspecPath": null,
"projectPath": "/Users/flyboy/.dee/yozman/yoboto-app/ios/yoboto.xcodeproj",
"projectName": "yoboto.xcodeproj",
"libraryFolder": "Libraries",
"sharedLibraries": [],
"plist": []
},
"android": {
"sourceDir": "/Users/flyboy/.dee/yozman/yoboto-app/android/app",
"isFlat": false,
"folder": "/Users/flyboy/.dee/yozman/yoboto-app",
"stringsPath": "/Users/flyboy/.dee/yozman/yoboto-app/android/app/src/main/res/values/strings.xml",
"manifestPath": "/Users/flyboy/.dee/yozman/yoboto-app/android/app/src/main/AndroidManifest.xml",
"buildGradlePath": "/Users/flyboy/.dee/yozman/yoboto-app/android/app/build.gradle",
"settingsGradlePath": "/Users/flyboy/.dee/yozman/yoboto-app/android/settings.gradle",
"assetsPath": "/Users/flyboy/.dee/yozman/yoboto-app/android/app/src/main/assets",
"mainFilePath": "/Users/flyboy/.dee/yozman/yoboto-app/android/app/src/main/java/com/yoboto/MainApplication.java",
"packageName": "com.yoboto"
}
}
}
I guess this comes with this commit c9aec25
cli/packages/platform-ios/native_modules.rb
Lines 45 to 49 in c9aec25
for podspec
RNRippleView
at #L46 absolute_podspec_path
is /Users/flyboy/.dee/yozman/yoboto-app/packages/react-native-touchable-ripple/RNRippleView.podspec
.it's already relative_path and doesn't contain character
node_modules
.so
relative_podspec_path
at #L47 will be not correct.