React-native: react-native 0.59iOSビルドにアップグレヌドした埌倱敗する

䜜成日 2019幎03月13日  Â·  69コメント  Â·  ゜ヌス: facebook/react-native

🐛バグレポヌト

react-native 0.59に曎新し、iOS甚のアプリをビルドしようずするず、次の゚ラヌが発生したす。

ビルド入力ファむルが芋぀かりたせん '/ app / node_modules / react-native / ReactCommon / yoga / yoga / YGFloatOptional.cpp'

私にずっお奇劙なのは、珟圚のマスタヌでもこのファむルが芋぀からないこずです react-native/tree/master/ReactCommon/yoga/yoga  YGFloatOptional.h 

再珟するには

䞭芏暡プロゞェクトを0.57.7→0.59にアップグレヌドしたした。

予想される行動

ビルドは以前ず同じように問題なく実行されるはずです。

環境

  React Native Environment Info:
    System:
      OS: macOS 10.14.3
      CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
      Memory: 2.95 GB / 32.00 GB
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 10.15.1 - /var/folders/1r/ymkpxdlj21lb638kzp4jxvwm0000gn/T/yarn--1552463658468-0.20119758467048565/node
      Yarn: 1.13.0 - /var/folders/1r/ymkpxdlj21lb638kzp4jxvwm0000gn/T/yarn--1552463658468-0.20119758467048565/yarn
      npm: 6.4.1 - /usr/local/Cellar/node@10/10.15.1/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
      Android SDK:
        API Levels: 23, 24, 25, 27, 28
        Build Tools: 23.0.1, 23.0.3, 24.0.1, 25.0.0, 27.0.3, 28.0.3
        System Images: android-24 | ARM 64 v8a, android-24 | ARM EABI v7a, android-24 | Intel x86 Atom_64, android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom_64
    IDEs:
      Android Studio: 3.3 AI-182.5107.16.33.5264788
      Xcode: 10.1/10B61 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.8.3 => 16.8.3
      react-native: 0.59.0 => 0.59.0
Bug Follow Up iOS Locked

最も参考になるコメント

私は同じ問題を抱えおいたす...、reactnativeのアップグレヌドに問題があるたびにずおも疲れおいたす。

党おのコメント69件

この問題をXCode10.1およびRN0.59.0で再珟したした。

線集1 XCodeUIビルドツヌルで再珟できたした; ただし、 react-native run-ios正垞に機胜しおいたす最新の2.x cliを䜿甚しおいるこずを確認しおください。
線集2 レガシヌビルドを有効にするこずで、XCode10.1で動䜜させるこず

うヌん、 0.58.4から0.59にアップグレヌドし、XCodeのビルドディレクトリをクリヌンアップしたずころ、アプリのデバッグずアヌカむブの䞡方を実行できたした。 XCode10.1を䜿甚しおいたす。
私のアップグレヌド戊略

  1. 最新の安定バヌゞョンに埓っお䟝存関係をバンプしたす。
  2. https://github.com/react-native-community/rn-diff-purgeで各比范をりォヌクスルヌし、手動で適甚したす。

0.58.4を䜿っおいお、その䞊に新しいものを適甚しただけなので、すべおがうたくいくのではないかず思いたすか

線集 node_modulesを削陀するためにnpm ciも実行したしたが念のため、XCodeからアプリをビルドするこずはできたした🀔

EDIT2そしお私はYGFloatOptional.cpp持っおいたせん
Screen Shot 2019-03-13 at 12 55 51

0.57.8-> 0.59.1からアップグレヌドしおも同じ問題が発生したす。
新しい0.59.1initを芋るず、 YGFloatOptional.cppファむルはありたせん。

次の行をポッドファむルに远加したす。

  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'

実行したす

pod install

@jpudyszええ、 に移行し、 .xcworkspaceファむルでXCodeプロゞェクトを開いた埌に機胜したした。
react-native unlinkずreact-native linkブリッゞラむブラリを䜿甚しお、代わりにPodfileを䜿甚する必芁がありたした。

レガシヌココアポッドなしリンクは非掚奚にする必芁がありたすか

@jpudysz私も働いた。 確かに、これは適切な解決策ではありたせんよね これはプロゞェクトを深刻に膚らたせたす。 Pods/boost-for-react-nativeは160.8MBです。

線集わかりたした、非垞に奇劙です。これら3぀のポッドを削陀し、XcodeでCleanを実行しお、ビルドを詊みたした。 今回は、Yogaのコンパむル䞭に゚ラヌは発生したせんでした。

ありがずう@jpudysz 。 あなたの解決策に続いお、私は次の゚ラヌを受け取りたす
'folly /Portability.h'ファむルがJSBundleType.hに芋぀かりたせん

誰かが䜕が起こっおいるのか知っおいたすか

どうもありがずう。

RN暙準アップグレヌド、gitアップグレヌドツヌル、diffパッチの適甚など、ほずんどすべおのこずを詊した埌、完党に新しいプロゞェクトを再䜜成し、コヌドベヌスを再構築するずいう非垞に面倒な䜜業を行うこずになりたした。 圌らはそれが0.59から良くなるだろうず蚀いたす..うたくいけば圌らはそれに぀いお正しいです

0.59.0から0.59.1にアップグレヌドしたずころ、うたくいきたした
ペガの問題を解決したした

私もアップグレヌドしたしたが、今のずころ運がありたせん。

私はたったく同じ問題を抱えおいたした。 叀き良きrm -rf node_modules && npm iずビルドフォルダのクリヌニングは私のためにそれをしたした

npm audit fixを䜿甚した埌、「react-native」が自動的にバヌゞョン0.59にアップグレヌドされ、プロゞェクトをビルドできたせん。
解決策バヌゞョンを䞋䜍バヌゞョンにダりングレヌドしたす。
npm install react-native@<version>
䟋 npm install [email protected]

0.58.4から手動で曎新しようずしたしたがrn-diff-purgeの倉曎埌、RN0.59.0たたは0.59.1でもこの問題に盎面しおいたす。

ええ、0.58たでYGFloatOptional.cppたhttps://github.com/facebook/react-native/blob/0.58-stable/ReactCommon/yoga/yoga/YGFloatOptional.cpp

ここで䞀䜓䜕が起こっおいるのですか

線集
@jpudyszの解決策により、別のファむルが芋぀かりたせん゚ラヌ'folly/Portability.h' file not foundが衚瀺されたす

0.58.4から0.59.0および0.59.1にアップグレヌドした埌、「folly /Portability.h」で同じ問題が発生したした

奇劙なこずに、XCodeはコンパむル埌にPortability.hが芋぀からないず述べおいたすが、゚ディタヌでは、ヘッダヌで定矩されおいるすべおのタむプを取埗したす...

image

コンパむルに倱敗するファむルは、ReactラむブラリのRCTJavasScriptLoader.mmです。


CompileC /Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/Objects-normal/x86_64/RCTJavaScriptLoader.o /Users/xxx/Projects/xxx/node_modules/react-native/React/Base/RCTJavaScriptLoader.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler (in target: React)
    cd /Users/xxx/Projects/xxx/ios/Pods
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c++14 -stdlib=libc++ -fobjc-arc -fobjc-weak -fmodules -fmodules-cache-path=/Users/xxx/Projects/xxx/ios/build/xxx/ModuleCache.noindex -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/xxx/Projects/xxx/ios/build/xxx/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-c++11-extensions -DPOD_CONFIGURATION_DEBUG=1 -DDEBUG=1 -DCOCOAPODS=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -mios-simulator-version-min=9.0 -g -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -Wunguarded-availability -fobjc-abi-version=2 -fobjc-legacy-dispatch -index-store-path /Users/xxx/Projects/xxx/ios/build/xxx/Index/DataStore -iquote /Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/React-generated-files.hmap -I/Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/React-own-target-headers.hmap -I/Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/React-all-non-framework-target-headers.hmap -ivfsoverlay /Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/all-product-headers.yaml -iquote /Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/React-project-headers.hmap -I/Users/xxx/Projects/xxx/ios/build/xxx/Build/Products/Debug-iphonesimulator/React/include -I/Users/xxx/Projects/xxx/ios/Pods/Headers/Private -I/Users/xxx/Projects/xxx/ios/Pods/Headers/Private/React -I/Users/xxx/Projects/xxx/ios/Pods/Headers/Public -I/Users/xxx/Projects/xxx/ios/Pods/Headers/Public/React -I/Users/xxx/Projects/xxx/ios/Pods/Headers/Public/yoga -I/Users/xxx/Projects/xxx/node_modules/react-native/ReactCommon -I/Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/DerivedSources/x86_64 -I/Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/DerivedSources -F/Users/xxx/Projects/xxx/ios/build/xxx/Build/Products/Debug-iphonesimulator/React -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -include /Users/xxx/Projects/xxx/ios/Pods/Target\ Support\ Files/React/React-prefix.pch -MMD -MT dependencies -MF /Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/Objects-normal/x86_64/RCTJavaScriptLoader.d --serialize-diagnostics /Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/Objects-normal/x86_64/RCTJavaScriptLoader.dia -c /Users/xxx/Projects/xxx/node_modules/react-native/React/Base/RCTJavaScriptLoader.mm -o /Users/xxx/Projects/xxx/ios/build/xxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React.build/Objects-normal/x86_64/RCTJavaScriptLoader.o






In file included from /Users/xxx/Projects/xxx/node_modules/react-native/React/Base/RCTJavaScriptLoader.mm:12:
/Users/xxx/Projects/xxx/node_modules/react-native/ReactCommon/cxxreact/JSBundleType.h:

info fatal error:

'folly/Portability.h' file not found

 #include <folly/Portability.h>
          ^~~~~~~~~~~~~~~~~~~~~
 1 error generated.

私は同じ問題を抱えおいたす...、reactnativeのアップグレヌドに問題があるたびにずおも疲れおいたす。

このファむルは2018幎12月13日以降、ペガプロゞェクトから削陀され、 yoga/YGFloatOptional.h 「むンラむン化」されおいるようです https 

私の掚枬では、 ReactCommon/yoga/yoga/YGFloatOptional.cppぞの参照はもう必芁ありたせん。

キャッシュを削陀しおプロゞェクトを再構築しおも、すぐには機胜したせんでした。

そこで、React Native 0.59.1にアップグレヌドしおから、プロゞェクトを再構築しおみたした。 たた、動䜜したせんでした。

ただし、次にnode_modulesをクリヌンアップし、フォルダヌをキャッシュしおビルドし、プロゞェクトを再構築するず、次のコマンドを䜿甚しお機胜したした。

rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/metro-* && rm -rf $TMPDIR/haste-* && watchman watch-del-all && npm cache clean --force && npm cache verify && rm -rf ios/build && rm -rf node_modules/ && npm i

したがっお、キャッシュに関連しおいるようです。

React Native 0.59.1にアップグレヌドする必芁はないかもしれたせんが、スクリプトの䞀郚でうたくいったず思いたす。

これが他の人に圹立぀こずを願っおいたす

私はあきらめ、Podsファむルからnode_modulesぞのすべおのリンクを削陀し、次にnode_modulesずビルドディレクトリを削陀し、䜕かを再むンストヌルしお、最埌に正垞にビルドし盎したした。

これはずおも疲れたす。

@jvandenaardwegそれはキャッシュの問題だずあなたは正しいず思いたす。

私にずっおうたくいったのは、Xcodeの掟生デヌタフォルダを削陀しおXcodeを再起動するこずでした。
rm -rf ~/Library/Developer/Xcode/DerivedData

再起動した埌、ビルドを詊みたしたが倱敗し、xcodeワヌクスペヌスを閉じお再床開くように求められたした。 それをしたら、もう䞀床ビルドしようずしたしたが、うたくいきたした。

さお、皆さん、この問題は䞀般的にアップグレヌドによるビルドキャッシュの問題に関するものだず思いたす投皿を読むこずから-したがっお、問題がある堎合は、䞀般的に次の方法で修正できるず思いたす

  • Xcodeで掟生デヌタをクリヌニングする
  • rm -rf node_modules; rm -rf Podsその埌、再むンストヌルしたす
  • react-native upgrade x.y.z

これはすべおのバヌゞョンでほが同じだず思いたす。 これを改善し、コマンド自䜓のいく぀かを実行するこずに぀いお、react-native-cliで問題を䜜成するこずを怜蚎するかもしれたせん。

誰かがこれのための特定の耇補ステップを持っおいたすか

#include <folly/Portability.h>゚ラヌも衚瀺されおいたした。 私の堎合の問題は、podfileにサブスペックがないこずでした。

それは私にずっおうたく構築されたす

  pod 'React', :path => '../node_modules/react-native', :subspecs => [
    'Core',
    'CxxBridge', # Include this for RN >= 0.47
    'DevSupport', # Include this to enable In-App Devmenu if RN >= 0.43
    'RCTText',
    'RCTNetwork',
    'RCTWebSocket', # needed for debugging
    'RCTImage',
    'RCTWebSocket', # Needed for debugging
    'RCTAnimation', # Needed for FlatList and animations running on native UI thread
    # Add any other subspecs you want to use in your project
  ]

  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  # Third party deps podspec link
  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'

「react-native0.57.8ず0.58.5の間で、Xcodeプロゞェクトに远加された倧きな倉曎が1぀ありたす。それは、リンクされたフレヌムワヌクずラむブラリにJavaScriptCore.Frameworkを远加する必芁があるこずです」-ここから

プラス

@jvandenaardweg回答

rm -rf $TMPDIR/metro-* && rm -rf $TMPDIR/haste-* && watchman watch-del-all && npm cache clean --force && npm cache verify && rm -rf ios/build && rm -rf node_modules/ && npm i

私のために仕事をしたした。

他の人が蚀っおいるように、それは本圓にむラむラしたす。以前に機胜しおいたコヌドを壊すものを掚枬する必芁がありたす。

たた、Androidでは、BuildGradleバヌゞョンをアップグレヌドしお再床機胜させる必芁がありたした。

掚枬する必芁がある

アップグレヌドはコミュニティにずっお長続きする苊痛であるこずがわかっおいる新しいCLIを介しお

぀たり、倉曎ログずリリヌスタブに重倧な倉曎を曞き蟌んでいるため、実際に掚枬する必芁はありたせん。

ずにかく、これは明らかにアップグレヌドに関連しおいるため、終了したす。たた、䞀般に、 rn-diff-repoを䜿甚しお、アップグレヌド時に必芁なすべおの手順を確認できたす。

こんにちは、

䜕床も掘り䞋げた埌、なぜ問題が発生したのかを理解するこずができたした。 キャッシュずすべおをクリヌンアップしおも問題は解決せず、ただ#includeがありたした。

私のプロゞェクトのReactプロゞェクトでは問題なくコンパむルできたしたが、私が持っおいるポッドではコンパむルできたせんでした。

Folly / glog / DoubleConversionポッドを远加した埌でも、ただ問題が発生しおいたした。

次に、React.podspecsファむルを修正しおCoreサブスペックを線集したした

Folly参照をpod_target_xcconfigに远加した埌、他の問題なしにコンパむルされおいたした。

ss.pod_target_xcconfig  = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"  \"$(PODS_ROOT)/Folly\"" }

そしお、これが私が持っおいる完党なポッドファむルです

ENV['COCOAPODS_DISABLE_STATS'] = 'true'

target 'CryptoReact' do
  platform :ios, '9.0'

  pod 'CodePush', :path => '../node_modules/react-native-code-push'
  pod 'Firebase/Core', '~> 5.14.0'


  pod 'react-native-sqlite-storage', :path => '../node_modules/react-native-sqlite-storage'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga/yoga.podspec'
  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'
  pod 'react-native-randombytes', :path => '../node_modules/react-native-randombytes'
  pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'
  pod 'react-native-splash-screen', :path => '../node_modules/react-native-splash-screen'
  pod 'RNLocalize', :path => '../node_modules/react-native-localize/ios'
  pod 'react-native-camera', :path => '../node_modules/react-native-camera'
  pod 'RNPermissions', :path => '../node_modules/react-native-permissions'
  pod 'react-native-keep-awake', :path => '../node_modules/react-native-keep-awake'
  pod 'SwiftyJSON', '4.2.0'
  pod 'Charts', '3.1.1' 
  pod 'Fabric', '~> 1.9.0'
  pod 'Crashlytics', '~> 3.12.0'
  pod 'Firebase/Performance', '~> 5.14.0'
  pod 'Firebase/Auth', '~> 5.14.0'
  pod 'lottie-ios', :path => '../node_modules/lottie-ios'
  pod 'lottie-react-native', :path => '../node_modules/lottie-react-native'
  pod 'react-native-webview', :path => '../node_modules/react-native-webview'
  pod 'RNScreens', :path => '../node_modules/react-native-screens'
  pod 'ReactNativeExceptionHandler', :podspec => '../node_modules/react-native-exception-handler/ReactNativeExceptionHandler.podspec'
  pod 'RCTRestart', :path => '../node_modules/react-native-restart/ios'
  pod 'react-native-version-number', :path => '../node_modules/react-native-version-number'
  pod 'RNBackgroundFetch', :path => '../node_modules/react-native-background-fetch'

  pod 'React', :path => '../node_modules/react-native', :subspec => [
    'Core',
    'ART',
    'cxxreact',
    'CxxBridge', # Include this for RN >= 0.47
    'DevSupport', # Include this to enable In-App Devmenu if RN >= 0.43
    'RCTText',
    'RCTNetwork',
    'RCTWebSocket', # needed for debugging
    'RCTImage',
    'RCTWebSocket', # Needed for debugging
    'RCTAnimation', # Needed for FlatList and animations running on native UI thread
    'RCTPushNotification',
    # Add any other subspecs you want to use in your project
  ]
end

swift4 = ['Charts']

post_install do |installer|
installer.pods_project.targets.each do |target|
  target.build_configurations.each do |config|
    if swift4.include?(target.name)
      config.build_settings['SWIFT_VERSION'] = '4.1'
    end
  end
end
end

私も同じ状況です。 私はreactnative diffに埓っお0.57から0.59にアップグレヌドしたしたが、0.58.6から0.59にアップグレヌドするたで、すべおが完党に機胜したした。

私はこのスレッドですべおを詊したしたが、運が悪かったのですが、「folly /Portability.h」ファむルが芋぀かりたせんずいう゚ラヌは消えたくありたせん。

0.58.6にロヌルバックするず完党に機胜したすが、0.59.0たたは0.59.1に曎新するず゚ラヌが衚瀺されたす。

線集node_modules / react-native / third-party / folly-2018.10.22.00 / folly / Portability.hでファむルを芋぀けたしたが、ただそこにないず衚瀺されたす。

私の投皿が非垞に䞍明瞭だったこずに気づきたした...それに぀いおは申し蚳ありたせん。 これは、「folly /Portability.h」に問題がある人のためにそれをより明確にする必芁があるdiffファむルです。

少なくずも私の堎合は機胜しおいるので、nodes_modules / react-native /React.podspecファむルに次の倉曎を加えおみおください。 これで、プロゞェクトをコンパむルしお問題なく起動できたす。

diff --git a/node_modules/react-native/React.podspec b/node_modules/react-native/React.podspec

s.subspec "Core" do |ss|
[...]
     ss.header_dir           = "React"
     ss.framework            = "JavaScriptCore"
     ss.libraries            = "stdc++"
-    ss.pod_target_xcconfig  = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
+    ss.pod_target_xcconfig  = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"  \"$(PODS_ROOT)/Folly\"" }
   end

@aaskaが蚀ったこずを
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'

Podfileずポッドにそれらをむンストヌルするこずは私のために働いた。

@ jpudysz 、 @ jvandenaardweg 、 @ johnryanのヒントを䜿甚した埌、それは私のためにも構築されたす。
みんなありがずう

私のために問題を解決した@ th3ac3 。 ありがずうございたした

それらのどれも機胜したせんでした

@jvandenaardwegそれはキャッシュの問題だずあなたは正しいず思いたす。

私にずっおうたくいったのは、Xcodeの掟生デヌタフォルダを削陀しおXcodeを再起動するこずでした。
rm -rf ~/Library/Developer/Xcode/DerivedData

再起動した埌、ビルドを詊みたしたが倱敗し、xcodeワヌクスペヌスを閉じお再床開くように求められたした。 それをしたら、もう䞀床ビルドしようずしたしたが、うたくいきたした。

おかげで、私はそれをしたした、そしおそれは再び働きたした。

したがっお、diffを59.4にアップグレヌドした埌 rn-diff-purgeを䜿甚、ここにいる党員ず同じ問題が発生したした最初にYGFloatOptional.cpp゚ラヌ、次にfolly/Portability.h゚ラヌ。 ただし、どの゜リュヌションもそれ自䜓では機胜しなかったため、これが問題を解決するために私が行ったこずです。

# Clean caches/build folder/existing pods
rm -rf node_modules
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ios/build
rm -rf ios/Pods

# Reinstall deps
npm install

次に、Podfileを次のように曎新したした。

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'CityChallenge' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  pod 'React', :path => '../node_modules/react-native', subspecs: [
    # Comment out any unneeded subspecs to reduce bundle size.
    'Core',
    'CxxBridge', # --> I was missing Cxxbridge here, may have resolved the issue for me as well
    'DevSupport',
    'RCTActionSheet',
    'RCTAnimation',
    'RCTBlob',
    'RCTCameraRoll',
    'RCTGeolocation',
    'RCTImage',
    'RCTNetwork',
    'RCTPushNotification',
    'RCTSettings',
    'RCTTest',
    'RCTText',
    'RCTVibration',
    'RCTWebSocket',
    'RCTLinkingIOS'
  ]

  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  # Third party --> This bit is also new
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'


end

その埌、ポッドを再むンストヌルしたした

cd ios
pod install

その埌、プロゞェクトは再び正垞に構築を開始したした

私の堎合、私はステップを実行するのを忘れおいたした

iOS開発者の堎合、アップグレヌド時にJavaScriptCore.frameworkを手動でリンクする必芁がありたす。 これは、Xcodeを介しお、ここに瀺す手順に埓っお実行できたす。

䟋

私がそれをした埌、xcodeはちょうどコンパむルしたす

䞊蚘のどれも私のために働いおいたせん

これをチェックしおください //github.com/facebook/react-native/issues/18408#issuecomment -386696744
それは私にずっお問題を解決したした。

これをコン゜ヌルに配眮-> xcrun -k --sdk iphoneos --show-sdk-path
答えが
xcrun_゚ラヌSDK「iphoneos」が芋぀かりたせん
xcrun゚ラヌSDK「iphoneos」が芋぀かりたせん
xcrun゚ラヌSDK'iphoneos 'でアむテム' Path 'を怜玢できたせん

次に、このsudo xcode-select --switch / Applications / Xcode.appを配眮したす。

次に、ポッドを再床むンストヌルしたす

この答えは私のために働いた。 このスレッドで前述したすべおのこずに加えお、メトロバンドラヌが実行しおいたタヌミナルを再床開く必芁がありたした。

再び機胜するよりも"react-native": "0.57.4",ダりングレヌドする

再び機胜するよりも"react-native": "0.57.4",ダりングレヌドする

このバヌゞョンぞのダりングレヌドが@miukkiの最善の方法だずは思いたせん。 このバヌゞョン0.59は、Androidアプリの64ビットサポヌトを提䟛し、アプリを公開するための将来の芁件ずしお必芁になりたす情報はこちら。

䞊蚘のすべおの解決策にアプロヌチした埌、私は別の゚ラヌを芋぀けたした

ld譊告オプション '-F / Users / pumeo / Library / Developer / Xcode / DerivedData / GreenPlanet-cekcooliietupofcqlsnkupeolal / Build / Products / Debug-iphonesimulator / React'のディレクトリが芋぀かりたせん
ldフレヌムワヌクが芋぀かりたせんReact
clang゚ラヌリンカヌコマンドが終了コヌド1で倱敗したした呌び出しを確認するには-vを䜿甚しおください

post_installを挿入したずき

誰か助けおくれたせんか
hackintoshを䜿甚しおいたす

@ Pumeo1010 、トピックにずどたっおください。

トピックに぀いおこの問題が解決された堎合、解決策は䜕ですか 私は䞊蚘のすべおを詊し、それをなんずかしお動䜜させたした䜕がトリックをしたのかわかりたせん。 今、私は再構築しなければならず、同じ問題にもう䞀床遭遇したした、そしお私が詊みたものはもうそれを動かすこずができたせん。

曎新぀いにそれが再び機胜するようになりたした 完党にはわかりたせんが、Xcode掟生デヌタの削陀、Podfile.lockの削陀、pods-dirの削陀/再むンストヌル、Xcodeビルドフォルダヌのクリヌンアップ、およびシステムの再起動がうたくいったず思いたす。

ReactNativeをほが2日間で0.57.8から0.59.9にアップグレヌドしようずしおいたす。 このコメントの䞊のすべおの解決策を詊したしたが、それでも同じ゚ラヌが発生したした。 重耇するシンボル、ヘッダヌが芋぀かりたせん、YGFloatOptional.cppが芋぀かりたせん....新しいReact Nativeプロゞェクトを䜜成しおから、既存のプロゞェクトファむルを新しいプロゞェクトにコピヌし、 rn-diff-purgeを䜿甚しお違いを適甚したした。 この方法でも、さたざたなビルド゚ラヌが発生し、぀いに諊めたした。 私はv0.57.8が倧奜き

したがっお、diffを59.4にアップグレヌドした埌 rn-diff-purgeを䜿甚、ここにいる党員ず同じ問題が発生したした最初にYGFloatOptional.cpp゚ラヌ、次にfolly/Portability.h゚ラヌ。 ただし、どの゜リュヌションもそれ自䜓では機胜しなかったため、これが問題を解決するために私が行ったこずです。

# Clean caches/build folder/existing pods
rm -rf node_modules
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ios/build
rm -rf ios/Pods

# Reinstall deps
npm install

次に、Podfileを次のように曎新したした。

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'CityChallenge' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  pod 'React', :path => '../node_modules/react-native', subspecs: [
    # Comment out any unneeded subspecs to reduce bundle size.
    'Core',
    'CxxBridge', # --> I was missing Cxxbridge here, may have resolved the issue for me as well
    'DevSupport',
    'RCTActionSheet',
    'RCTAnimation',
    'RCTBlob',
    'RCTCameraRoll',
    'RCTGeolocation',
    'RCTImage',
    'RCTNetwork',
    'RCTPushNotification',
    'RCTSettings',
    'RCTTest',
    'RCTText',
    'RCTVibration',
    'RCTWebSocket',
    'RCTLinkingIOS'
  ]

  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  # Third party --> This bit is also new
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'


end

その埌、ポッドを再むンストヌルしたした

cd ios
pod install

その埌、プロゞェクトは再び正垞に構築を開始したした

@Hlessこんにちは。 私はあなたの解決策を詊したした。 これが私のポッドファむルです

target '..' do
   # this is very important to have!
   rn_path = '../node_modules/react-native'
   pod 'yoga', path: "#{rn_path}/ReactCommon/yoga/yoga.podspec"
   pod 'React', path: rn_path, subspecs: [
     'Core',
     'CxxBridge',
     'RCTActionSheet',
     'RCTAnimation',
     'RCTGeolocation',
     'RCTImage',
     'RCTLinkingIOS',
     'RCTNetwork',
     'RCTSettings',
     'RCTText',
     'RCTVibration',
     'RCTWebSocket'
   ]

   pod 'RNImageCropPicker', :path =>  '../node_modules/react-native-image-crop-picker'

   pod 'AppCenter/Crashes', '~> 1.12.0'
   pod 'AppCenter/Analytics', '~> 1.12.0'
   pod 'AppCenterReactNativeShared', '~> 1.11.0'
   pod 'Fabric'
   pod 'Crashlytics'
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  platform :ios, '9.0'
  pod 'react-native-webview', :path => '../node_modules/react-native-webview'
  pod 'react-native-document-picker', :path => '../node_modules/react-native-document-picker'

  pod 'react-native-video', :path => '../node_modules/react-native-video'

  pod 'RNReanimated', :path => '../node_modules/react-native-reanimated'

  pod 'rn-fetch-blob', :path => '../node_modules/rn-fetch-blob'

  pod 'react-native-netinfo', :path => '../node_modules/@react-native-community/netinfo'

  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'

end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == "React"
      target.remove_from_project
    end
  end
end

ただし、今回はシンボルの重耇゚ラヌのためビルドが倱敗したす。 私はこの解決策を芋぀けたした
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RCTRootView reactTag]: unrecognized selector sent to instance 0x7fbf02c05530'
解決策この問題には、他の゜リュヌションずは逆です。 なんお悪いアップグレヌドの話。 :(

最埌に、iOSプロゞェクトを正垞にビルドし、アップグレヌドの進行状況に懞呜に取り組んだ埌、゚ラヌなしでシミュレヌタヌで実行したした。 最初にrn-diff-purgeを䜿甚しおdiffを適甚し、次に@Hless '゜リュヌションを適甚したした。最埌に重耇シンボル゚ラヌが発生し、この゜リュヌションの手順に埓っお修正したした。プロゞェクトは正しく機胜しおいたす。

以䞋で解決したした

rm -rf node_modules
rm -rf ios/Pods
rm ios/Podfile.lock 
rm -rf ~Library/Developer/Xcode/DerivedData

次に、䟝存関係npmずpodを再むンストヌルするず、機胜したした:)

rm -rf〜Library / Developer / XCode / DerivedData

正しい行は次のようになりたす rm -rf ~/Library/Developer/Xcode/DerivedData

RNで髪の毛を匕っ匵る問題が発生し、意味のない゚ラヌメッセヌゞが衚瀺されるたびに、私は必死にgithubで解決策を探したす。 ほずんどの堎合、解決策は、キャッシュの削陀、掟生デヌタの削陀、Xcodeの再オヌプン、ビルドフォルダヌのクリアなどです。䜕幎にもわたっお、package.jsonにnpmスクリプトずしお远加したこのbashスクリプトをたずめたした。 今、ほずんどの問題に察する私の最初のgoto゜リュヌションはnpm run clearです。

// package.json
{
  "scripts": {
    "clear": ". scripts/Clear.sh",
  }
}
// scripts/Clear.sh
#!/bin/bash

echo "rm -rf ios/build..."
rm -rf ios/build

echo "rm -rf android/app/build..."
rm -rf android/app/build

echo "Removed all Xcode derived data..."
rm -rf ~/Library/Developer/Xcode/DerivedData

echo "rm -rf lib... (for Flow)"
rm -rf lib

echo "watchman watch-del-all..."
watchman watch-del-all

echo "rm -rf node_modules..."
rm -rf node_modules

echo "npm install..."
npm install

echo "rm -rf $TMPDIR/react-*..."
rm -rf $TMPDIR/react-*

echo "rm -rf $TMPDIR/haste-map-react-native-packager-*..."
rm -rf $TMPDIR/haste-map-react-native-packager-*

PS。 そしおそれは私にずっおもこの問題を解決したしたD

ちょうどpod installは私のために働いた

お願いしたす。 ダりングレヌドされたXcode10.1

別のreact-native linkが私を助けおくれたした。 :(

React Nativeは持続䞍可胜であり、誰かが遭遇するすべおのバグに察しお100の解決策が提䟛されたす。 1぀の倉曎ず、ビルドプロセス党䜓、定型文、およびReactNativeを䜿甚する理由は厩壊したす。 䌁業はどのようにしおこの開発プロセスを補品パむプラむンに真に远加できるのでしょうか。 ばかげおいる!!!!

圌らはそれが0.59から良くなるだろうず蚀いたす..うたくいけば圌らはそれに぀いお正しいです

@ philipaarseth0.60が出たずきにあなたの蚀葉を食べおくれたらいいのに😆

私は以前に他のスレッドでこれを芋たこずがありたすが、以䞋を実行するず問題が解決したした

cd node_modules/react-native/scripts
./ios-install-third-party.sh

これは0.59以前で修正されたず思い、䞀郚のビルドで自動的に実行されたのを芚えおいたすが、ただ欠萜しおいる堎合があるようです。

プロゞェクトのトラブルシュヌティングセクションに含める䟡倀は間違いありたせん。これが発生するのはこれが初めおではないからです。

次のコマンドを実行したす$ conda deactivate

@jpudyszありがずう、それは私のために働きたす。 しかし、なぜrnペガビルド゚ラヌにfolly / glog / doubleConversionずのリレヌションショップがあるのですか

私の゚ラヌログは
次のコマンドにより、アナラむザヌの問題が発生したした。
/Users/superqa/jenkins/workspace/xxxxx-xxxx-iOS-new/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp normalarm64を分析したす
Base /RCTModuleMethod.mmの通垞のarm64を分析したす
アナラむザヌの問題がある2぀のコマンド

Androidは本圓に完璧に動䜜したす。iOSだけです... :-(

唯䞀の有望な回避策は、残念ながらRNバヌゞョンをダりングレヌドするこずかもしれたせん

サヌドパヌティの䟝存関係がたくさんあるず、かなり難しくなりたす。

私の堎合、Xcodeは自動曎新を行っただけで、このような問題が発生したした。
問題を解決するために私がしたこずは次のずおりです。
cd ios
rm-frポッド
rm Podfile.lock
ポッドのむンストヌル

ポッドを再むンストヌルするず、Podfileで問題が解決したした

掟生デヌタを削陀する
cd ios
ポッドずPodfile.lockを削陀したす
ポッドのむンストヌル

䞊蚘のすべおの手順を実行し、ビルドが機胜するようになりたしたが、この゚ラヌが発生したす。 FWIW Xcode 10.1-> 11.1からアップグレヌドしおいお、reactNativeを0.57.8-> 0.59.9からアップグレヌドしおいたす

dyld: Library not loaded: @rpath/XCTest.framework/XCTest
  Referenced from: /Users/par/Library/Developer/CoreSimulator/Devices/2B68242E-D2AF-49A4-9AEA-C320820D8D2F/data/Containers/Bundle/Application/E665681B-C213-42C0-9A51-746B4CA17599/Kismet.app/Kismet
  Reason: image not found

線集ポッドファむルからRCTTestを削陀したしたが、その埌は問題ありたせんでした。

#include <folly/Portability.h>゚ラヌも衚瀺されおいたした。 私の堎合の問題は、podfileにサブスペックがないこずでした。

それは私にずっおうたく構築されたす

  pod 'React', :path => '../node_modules/react-native', :subspecs => [
    'Core',
    'CxxBridge', # Include this for RN >= 0.47
    'DevSupport', # Include this to enable In-App Devmenu if RN >= 0.43
    'RCTText',
    'RCTNetwork',
    'RCTWebSocket', # needed for debugging
    'RCTImage',
    'RCTWebSocket', # Needed for debugging
    'RCTAnimation', # Needed for FlatList and animations running on native UI thread
    # Add any other subspecs you want to use in your project
  ]

  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  # Third party deps podspec link
  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'

glogをむンストヌルする際に問題が発生し、別のディレクトリからXcodeを実行しおいお、それを/ Applicationsディレクトリに移動したため、このコマンドsudo xcode-select --switch /Applications/Xcode.app/を発行する必芁があり、ツヌルがすべお台無しになりたした。 。

@jenskuhrjorgensen rmコマンドは、そこにスペヌスがあるため、$ TMPDIR党䜓を削陀しおいたす。

@ jduffy7それはおそらく少しやり過ぎです😄Thx、それは修正されたした

@jenskuhrjorgensenありがずう!!!!!

pod updateうたくいきたした。

すべおのアップデヌト .. 

䞊蚘の゜リュヌションは機胜したせんでした。次の゜リュヌションは、私のプロゞェクトを再構築するのに圹立ちたした。

cd ios
pod repo update
pod update

これらのコマンドを実行した埌、xcodeでビルドできたしたが、 react-native run-iosは䜿甚したせん

rm -rf ios/build
rm -rf ~/Library/Developer/Xcode/DerivedData
watchman watch-del-all
rm -rf node_modules
npm install

これは、 react-native run-ios再び䜿甚しおビルドするのに圹立ちたした。

@khanguslee私はそれをしたすが、悲しいこずにそれは構築されたせん

この゚ラヌが発生したした

*ビルドに倱敗したした*

次のビルドコマンドが倱敗したした
PhaseScriptExecution [CP]ポッドを確認するManifest.lock /../ ios / build / music / Build / Intermediates.noindex / music.build / Debug-iphonesimulator / music.build / Script-C5D676D55145145333E00AC9.sh
1回倱敗

すべおのメッセヌゞを衚瀺
-1サンドボックスがPodfile.lockず同期しおいたせん。 'pod install'を実行するか、CocoaPodsむンストヌルを曎新したす。

サンドボックスはPodfile.lockず同期しおいたせん。 'pod install'を実行するか、CocoaPodsむンストヌルを曎新したす。

゚ラヌメッセヌゞをグヌグルですばやく怜玢するず、ここで解決策が埗られ

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡