Cut*_*aca 5 xcode ios react-native
我刚刚开始使用 React Native。我正在关注官方文档中的 React Native CLI 快速入门。这也意味着我是最新的 React Native 版本0.61.2。
从那以后我做了一些基本的 UI,在 iPhone 模拟器中检查结果。它在运行时有效react-native run-ios,并没有真正接触ios/Podfile太多。
我的问题是在我的ios/文件夹中运行pod install总是会导致错误!现在这成为一个问题,我需要安装其他软件包。但是它已经因为默认的 Podfile 失败了!
错误信息:
[!] Invalid `Podfile` file: undefined method `[]' for nil:NilClass.
# from /Users/marcel/Projekte/WerBinIch/ios/Podfile:43
# -------------------------------------------
#
> use_native_modules!
# end
# -------------------------------------------
Run Code Online (Sandbox Code Playgroud)
ios/播客文件
platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
target 'WerBinIch' do
# Pods for WerBinIch
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/'
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
target 'WerBinIchTests' do
inherit! :search_paths
# Pods for testing
end
use_native_modules!
end
Run Code Online (Sandbox Code Playgroud)
我不知道如何处理这个!我不知道 Podfile 和 xcode 文件是如何工作的!我试图删除完成重置的文件夹。更重要的是,我不知道错误消息可能意味着什么。
当您 cd 到 ios 文件夹并运行“pod install”时会发生此错误,这是因为您添加了一个新的 react native 模块
npm -i包
而不是使用纱线
纱线添加包
要解决此问题,只需转到 package.json 所在的主要 react native 项目文件夹并再次运行以下命令
纱线缓存清洁
纱线添加包
然后尝试 cd 到 ios 文件夹并运行“pod install”,就不会再有错误了。希望这可以帮助其他也面临同样问题的人。
小智 6
这个答案很好地解决了我的问题:
React-native ios Podfile 问题与“use_native_modules!”
这是正确的答案:
1 - 您Podfile应该在顶部包含此行
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
Run Code Online (Sandbox Code Playgroud)
2 - 确保您的 package.json 和 node_module 文件夹已安装此模块
@react-native-community/cli-platform-ios
Run Code Online (Sandbox Code Playgroud)
3 - 如果运行后没有找到yarn install- 意味着您的计算机中有旧的缓存node_modules,您需要在再次重新安装软件包之前清理它。
4 - 清理缓存
$ yarn cache clean
Run Code Online (Sandbox Code Playgroud)
5 - 确保您拥有此文件react-native.config.js并且其配置有效 - 并且它没有不存在的 NPM 包 - 这一步是最后也是最重要的错误原因
我的例子react-native.config.js
module.exports = {
project: {
ios: {},
android: {},
},
assets: ['./assets/fonts/'],
dependencies: {}, // make sure this deps are all valid installed packages or empty if you don't need it
};
Run Code Online (Sandbox Code Playgroud)
6 - 安装节点包yarn install,您的 pod 现在应该可以工作了!
$ pod install --repo-update
编码愉快!
| 归档时间: |
|
| 查看次数: |
16193 次 |
| 最近记录: |