我正在查看 react native 项目的源代码,但在构建它时遇到了问题。
运行以下命令后
npm install
在项目的根pod install
在 ios 文件夹中
我在终端收到以下消息:
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `sed -i -e $'s/__IPHONE_10_0/__IPHONE_12_0/' /Users/myUser/dev/ReactExplorerApp(Android)/ios/Pods/RCT-Folly/folly/portability/Time.h'
当我使用 XCode 构建应用程序时,我在 Time.h (...Pods/RCT-Folly/folly/portability/Time.h) 处收到以下错误消息:
Typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t')
该应用程序使用“react-native”:“0.66.1”。我正在使用 cocoapods 版本 1.11.2、节点版本 14.17.2 和 XCode 版本 13.1
Podfile 内容:
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '11.0'
target 'ExplorerApp' do
config = use_native_modules!
pod 'GoogleSignIn'
pod 'RNI18n', :path => '../node_modules/react-native-i18n'
pod 'react-native-version-check', :path => '../node_modules/react-native-version-check'
pod 'react-native-camera', path: '../node_modules/react-native-camera', subspecs: [
'FaceDetectorMLKit',
'BarcodeDetectorMLKit'
]
use_react_native!(
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => false
)
target 'ExplorerAppTests' do
inherit! :complete
# Pods for testing
end
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable the next line.
use_native_modules!
use_flipper!()
post_install do |installer|
react_native_post_install(installer)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
end
end
我尝试了许多类似问题的解决方案,但没有奏效。我尝试通过在 podfile 中将其注释掉来禁用 Flipper,我还尝试将目标更改为 iOS 12。我还尝试在删除 podfile.lock 并运行后安装 pod pod install --repo-update
,我也运行了pod cache clean --all
我也在这里https://github.com/facebook/react-native/issues/31480尝试了解决方案,"react-native": "0.64.1" // or higher
但它对我不起作用,我不清楚他们指的是什么“从podfile.lock”,如果仍然有错误。
编辑:[解决方案] 我通过
git clone [repo url]
在终端中实际运行而不是使用与 VSCode 交互的 Azure DevOps 的克隆按钮来消除此错误。