Setelah memperbarui ke react-native 0.59 dan mencoba membangun aplikasi untuk iOS, saya mendapatkan kesalahan berikut:
File input build tidak dapat ditemukan: '/app/node_modules/react-native/ReactCommon/yoga/yoga/YGFloatOptional.cpp'
Yang aneh bagi saya adalah, saya tidak dapat menemukan file ini di sini baik di master saat ini: react-native/tree/master/ReactCommon/yoga/yoga
(hanya YGFloatOptional.h
)
Kami meningkatkan proyek berukuran sedang dari 0,57,7 → 0,59.
Build harus berjalan dengan baik seperti sebelumnya.
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
Saya baru saja mereproduksi masalah ini dengan XCode: 10.1 dan RN 0.59.0.
EDIT 1 : Saya dapat mereproduksi dengan alat build XCode UI; tetapi berfungsi dengan baik dengan react-native run-ios
(pastikan untuk memiliki 2.x cli terbaru).
EDIT 2 : Saya berhasil membuatnya berfungsi dengan XCode 10.1 dengan mengaktifkan versi lama . Terkait dengan # 19573
Hmm, saya baru saja memutakhirkan dari 0.58.4
menjadi 0.59
, membersihkan direktori build di XCode dan saya dapat menjalankan debug dan mengarsipkan aplikasi. Saya menggunakan XCode 10.1.
Strategi peningkatan saya:
Bertanya-tanya apakah semuanya mungkin berhasil untuk saya karena saya telah mengerjakan 0.58.4
dan baru saja menerapkan hal-hal baru di atasnya?
EDIT: Saya juga menjalankan npm ci
untuk menghapus node_modules
(hanya untuk memastikan) dan saya masih dapat membangun aplikasi dari XCode 🤔
EDIT2: Dan saya tidak punya YGFloatOptional.cpp
:
Saya mendapatkan masalah yang sama saat meningkatkan dari 0.57.8 -> 0.59.1.
Melihat init 0.59.1 baru tidak ada file YGFloatOptional.cpp
.
Tambahkan baris berikut ke Podfile Anda:
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'
dan lari
pod install
@jpudysz Ya itu berhasil setelah bermigrasi ke cocoapod dan membuka proyek .xcworkspace
.
Saya harus react-native unlink
dan react-native link
perpustakaan yang dijembatani sehingga mereka menggunakan Podfile
sebagai gantinya.
Haruskah penautan legacy (no-cocoapod) dihentikan?
@jpudysz Bekerja untuk saya juga. Tentunya ini tidak bisa menjadi solusi yang tepat bukan? Ini benar-benar membengkak proyek. Pods/boost-for-react-native
adalah 160,8MB.
Sunting: Ok sangat aneh, saya menghapus 3 polong itu, menjalankan Bersihkan di Xcode dan mencoba membangun. Kali ini saya tidak mendapatkan error saat menyusun Yoga.
Terima kasih @jpudysz . Mengikuti solusi Anda, saya kemudian mendapatkan kesalahan berikut:
File 'folly / Portability.h' tidak ditemukan di JSBundleType.h
Apakah ada yang tahu apa yang terjadi?
Terimakasih banyak.
Setelah mencoba apa yang terasa seperti hampir semuanya, peningkatan standar RN, alat peningkatan git, menerapkan patch diff, saya akhirnya membuat ulang proyek yang benar-benar baru dan melakukan pekerjaan yang sangat membosankan untuk membangun kembali basis kode. Mereka bilang akan lebih baik dari 0,59 ke .. semoga mereka benar tentang itu
Saya baru saja meningkatkan dari 0,59,0 menjadi 0,59.1 dan itu berhasil untuk saya
menyelesaikan masalah Yoga
Saya meningkatkan juga tetapi sejauh ini tidak berhasil.
Saya memiliki masalah yang sama persis. rm -rf node_modules && npm i
dan membersihkan folder build berhasil untuk saya
Setelah menggunakan npm audit fix
, 'react-native' saya ditingkatkan secara otomatis ke versi 0.59 dan saya tidak dapat tidak membangun proyek saya.
Solusi : Turunkan versi ke versi yang lebih rendah.
npm install react-native@<version>
contoh: npm install [email protected]
Saya sudah mencoba memperbarui dari 0.58.4 secara manual (mengikuti perubahan rn-diff-purge) tetapi saya juga menghadapi masalah ini dengan RN 0.59.0 atau 0.59.1
Ya, kami memiliki YGFloatOptional.cpp
hingga 0,58 https://github.com/facebook/react-native/blob/0.58-stable/ReactCommon/yoga/yoga/YGFloatOptional.cpp
Apa yang sebenarnya terjadi disini?
Edit
Solusi @jpudysz membawa saya ke file lain yang tidak ditemukan kesalahan 'folly/Portability.h' file not found
Punya masalah yang sama dengan 'folly / Portability.h' setelah meningkatkan dari 0.58.4 menjadi 0.59.0 dan 0.59.1
Yang aneh, adalah XCode menyatakan setelah kompilasi bahwa Portability.h tidak ditemukan, tetapi di editor, ia mendapatkan semua jenis yang ditentukan di header ...
File yang gagal dikompilasi adalah RCTJavasScriptLoader.mm di perpustakaan React.
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.
Saya mendapat masalah yang sama ..., Setiap kali ada masalah dengan peningkatan di react native jadi capek ..
File tersebut tampaknya telah dihapus dari proyek yoga sejak 13 Des 2018 dan "dimasukkan" ke dalam yoga/YGFloatOptional.h
: https://github.com/facebook/yoga/commit/96d93f29826257ff6e9bb6c19211adb423029c29
Dugaan saya adalah referensi ke ReactCommon/yoga/yoga/YGFloatOptional.cpp
tidak diperlukan lagi.
Menghapus cache dan membangun kembali proyek tidak langsung berhasil untuk saya.
Jadi saya mencoba meningkatkan ke React Native 0.59.1 kemudian membangun kembali proyek tersebut. Juga tidak berhasil.
Namun, KEMUDIAN membersihkan node_modules saya, cache dan membangun folder dan membangun kembali proyek, berhasil, menggunakan:
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
Jadi, sepertinya cache terkait.
Mengupgrade ke React Native 0.59.1 mungkin tidak diperlukan, saya rasa sebagian dari skrip melakukan triknya untuk saya.
Semoga ini bisa membantu orang lain!
Saya menyerah, saya menghapus semua tautan ke node_modules dari file Pods kemudian menghapus node_modules dan membangun direktori dan menginstal ulang apa pun kemudian akhirnya berhasil dibangun lagi.
Ini sangat melelahkan.
@jvandenaardweg Saya rasa Anda benar bahwa ini adalah masalah cache.
Bagi saya yang berhasil adalah menghapus folder data turunan Xcode saya dan memulai ulang Xcode.
rm -rf ~/Library/Developer/Xcode/DerivedData
Setelah saya memulai ulang, saya mencoba membangun dan gagal dan meminta saya untuk menutup dan membuka kembali ruang kerja xcode saya. Setelah saya melakukannya, saya mencoba membangunnya lagi dan berhasil.
Baiklah teman-teman, saya pikir masalah ini umumnya tentang membangun masalah cache dari peningkatan (dari membaca posting) - jadi jika Anda memiliki masalah, saya pikir itu umumnya dapat diperbaiki dengan:
rm -rf node_modules; rm -rf Pods
lalu instal ulangreact-native upgrade x.y.z
Ini hampir sama untuk setiap versi, saya yakin. Saya mungkin akan mempertimbangkan untuk membuat masalah pada react-native-cli tentang meningkatkan ini dan mungkin menjalankan beberapa perintah itu sendiri.
Apakah ada yang punya langkah reproduksi khusus untuk ini?
Saya juga melihat kesalahan #include <folly/Portability.h>
. Masalah dalam kasus saya adalah kehilangan subspec di podfile.
Itu membangun baik untuk saya dengan:
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'
"Antara react-native 0.57.8 dan 0.58.5 ada satu perubahan besar yang ditambahkan dalam proyek Xcode adalah Anda harus menambahkan JavaScriptCore.Framework ke Linked FrameWorks and Libraries" - dari sini
PLUS
@jvandenaardweg jawab:
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
Berhasil untuk saya.
Ini benar-benar membuat frustrasi seperti yang dikatakan orang lain, perlu menebak apa yang memecahkan kode yang berfungsi sebelumnya.
Juga di Android saya harus mengupgrade versi Build Gradle agar berfungsi kembali.
perlu menebak
Kami tahu bahwa peningkatan versi telah menjadi masalah yang bertahan lama bagi komunitas, jadi mulai v0.59 kami telah memperkenalkan aliran baru melalui CLI baru .
Yang mengatakan kami telah menulis perubahan yang melanggar di changelog dan di tab rilis sehingga tidak perlu menebak-nebak.
Bagaimanapun, menutup karena ini jelas terkait dengan peningkatan - juga, secara umum Anda dapat menggunakan rn-diff-repo untuk memeriksa semua langkah yang diperlukan saat meningkatkan.
Halo,
Setelah banyak menggali, saya berhasil mengerti mengapa saya mendapatkan masalah itu. Membersihkan cache dan semuanya tidak memperbaiki masalah bagi saya dan saya masih mengalami #include
Kompilasi baik-baik saja untuk proyek React di bawah proyek saya, tetapi gagal untuk mengkompilasi Pod yang saya miliki.
Bahkan setelah menambahkan pod Folly / glog / DoubleConversion, saya masih mengalami masalah.
Saya kemudian mengubah file React.podspecs untuk mengedit subspec Inti
Setelah menambahkan referensi Folly ke pod_target_xcconfig, itu dikompilasi tanpa masalah lain.
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/Folly\"" }
Dan inilah podfile lengkap yang saya miliki
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
Saya dalam situasi yang sama. Saya telah meningkatkan dari 0,57 menjadi 0,59 mengikuti react native diff dan semuanya bekerja dengan sempurna sampai saya meningkatkan 0,58,6 menjadi 0,59.
Saya telah mencoba semua yang ada di utas ini tetapi tidak berhasil, file 'folly / Portability.h' tidak ditemukan kesalahan tidak mau hilang.
Mengembalikan ke 0.58.6 berfungsi dengan sempurna tetapi saat saya memperbarui ke 0.59.0 atau 0.59.1 kesalahan muncul.
Sunting: Saya menemukan file di node_modules / react-native / third-party / folly-2018.10.22.00 / folly / Portability.h tetapi masih mengatakan itu tidak ada.
Saya menyadari bahwa posting saya sangat tidak jelas ... Maaf tentang itu. Berikut adalah file diff yang seharusnya membuatnya lebih eksplisit untuk orang-orang yang memiliki masalah dengan 'folly / Portability.h'
Coba buat modifikasi berikut ke file node_modules / react-native / React.podspec, setidaknya dalam kasus saya itu berhasil! Sekarang saya dapat menyusun proyek saya dan meluncurkannya tanpa masalah.
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
Melakukan apa yang dikatakan @aaska plus menambahkan
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'
ke Podfile dan pod menginstalnya bekerja untuk saya.
Setelah menggunakan tips @jpudysz , @jvandenaardweg dan @johnryan , itu juga untuk saya.
Terima kasih teman-teman!
@ th3ac3 yang memecahkan masalah untuk saya. Terima kasih!
tidak satupun dari mereka berhasil
@jvandenaardweg Saya rasa Anda benar bahwa ini adalah masalah cache.
Bagi saya yang berhasil adalah menghapus folder data turunan Xcode saya dan memulai ulang Xcode.
rm -rf ~/Library/Developer/Xcode/DerivedData
Setelah saya memulai ulang, saya mencoba membangun dan gagal dan meminta saya untuk menutup dan membuka kembali ruang kerja xcode saya. Setelah saya melakukannya, saya mencoba membangunnya lagi dan berhasil.
Terima kasih, saya melakukannya dan berhasil lagi.
Jadi setelah mengikuti peningkatan diff ke 59.4 (menggunakan rn-diff-purge ), saya masih memiliki masalah yang sama seperti semua orang di sini (kesalahan YGFloatOptional.cpp
pertama, dan kemudian kesalahan folly/Portability.h
). Namun, tidak ada solusi yang berfungsi dengan sendirinya, jadi inilah yang saya lakukan untuk menyelesaikan masalah:
# 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
Kemudian perbarui Podfile saya menjadi berikut:
# 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
Setelah itu saya menginstal ulang pod
cd ios
pod install
Baru kemudian proyek mulai berhasil dibangun lagi
Dalam kasus saya, saya lupa melakukan langkah:
jika Anda seorang pengembang iOS, Anda harus menautkan JavaScriptCore.framework secara manual saat meningkatkan; ini dapat dilakukan melalui Xcode, dan mengikuti langkah-langkah yang ditunjukkan di sini.
setelah saya melakukan itu, xcode hanya mengkompilasi ok
Semua hal di atas tidak berhasil untuk saya
lihat ini: https://github.com/facebook/react-native/issues/18408#issuecomment -386696744
itu memecahkan masalah untuk saya.
letakkan ini di konsol -> xcrun -k --sdk iphoneos --show-sdk-path
jika jawabannya adalah
xcrun: _ error: SDK "iphoneos" tidak dapat ditemukan
xcrun: error: SDK "iphoneos" tidak dapat ditemukan
xcrun: error: tidak dapat mencari item 'Path' di SDK 'iphoneos'kemudian letakkan sudo xcode-select --switch /Applications/Xcode.app ini
Kemudian instal pod lagi
Jawaban ini berhasil untuk saya. Di atas semua hal yang disebutkan di atas di utas ini, saya perlu membuka kembali terminal yang menjalankan bundler metro saya.
turunkan ke "react-native": "0.57.4",
daripada berfungsi lagi
turunkan ke
"react-native": "0.57.4",
daripada berfungsi lagi
Menurut saya, menurunkan versi ke versi ini adalah cara terbaik @miukki. Versi ini (0,59) menghadirkan dukungan 64-bit untuk aplikasi Android dan Anda membutuhkannya sebagai persyaratan masa depan untuk menerbitkan aplikasi (info di sini ).
Hei, setelah mendekati semua solusi di atas, saya menemukan kesalahan lain
ld: peringatan: direktori tidak ditemukan untuk opsi '-F / Users / pumeo / Library / Developer / Xcode / DerivedData / GreenPlanet-cekcooliietupofcqlsnkupeolal / Build / Products / Debug-iphonesimulator / React'
ld: framework tidak ditemukan React
clang: error: perintah linker gagal dengan kode keluar 1 (gunakan -v untuk melihat permintaan)
ketika saya memasukkan post_install
ada yang bisa membantu tolong?
Saya menggunakan hackintosh
@ Pumeo1010 , harap tetap pada topik.
Tentang topik: Jika masalah ini ditutup, apa solusinya? Saya telah mencoba semua hal di atas dan entah bagaimana berhasil (tidak tahu apa triknya). Sekarang saya harus membangun kembali dan mengalami masalah yang sama sekali lagi dan apa pun yang saya coba tidak dapat membuatnya berfungsi lagi.
Pembaruan: akhirnya berfungsi lagi! Saya tidak sepenuhnya yakin tetapi saya pikir menghapus data turunan Xcode, menghapus Podfile.lock, menghapus / menginstal ulang pods-dir, membersihkan folder build Xcode dan reboot sistem akhirnya melakukan trik.
Saya mencoba mengupgrade React Native hampir dua hari dari 0.57.8 menjadi 0.59.9. Saya telah mencoba semua solusi di atas komentar ini tetapi masih mendapat kesalahan yang sama. Simbol duplikat, tajuk tidak ditemukan, YGFloatOptional.cpp tidak ditemukan .... Saya membuat proyek React Native baru dan kemudian menyalin file proyek saya yang ada ke proyek baru dan saya menerapkan perbedaannya dengan bantuan rn-diff-purge . Sekali lagi dengan cara ini juga saya mendapat banyak kesalahan pembuatan yang berbeda dan akhirnya saya menyerah! Saya suka v0.57.8
Jadi setelah mengikuti peningkatan diff ke 59.4 (menggunakan rn-diff-purge ), saya masih memiliki masalah yang sama seperti semua orang di sini (kesalahan
YGFloatOptional.cpp
pertama, dan kemudian kesalahanfolly/Portability.h
). Namun, tidak ada solusi yang berfungsi dengan sendirinya, jadi inilah yang saya lakukan untuk menyelesaikan masalah:# 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
Kemudian perbarui Podfile saya menjadi berikut:
# 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
Setelah itu saya menginstal ulang pod
cd ios pod install
Baru kemudian proyek mulai berhasil dibangun lagi
@Hai . Saya mencoba solusi Anda. Ini Podfile saya
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
Tapi kali ini build gagal karena kesalahan simbol duplikat. Saya menemukan solusi ini dan sekarang berhasil dibangun. Tapi sekarang saya punya masalah lain. Setelah saya menjalankan aplikasi itu langsung macet. Saya menemukan alasan kesalahan di area debug Xcode dan memang benar
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RCTRootView reactTag]: unrecognized selector sent to instance 0x7fbf02c05530'
solusi untuk masalah ini adalah kebalikan dari solusi lainnya. Sungguh cerita peningkatan yang buruk. :(
Akhirnya saya berhasil membangun proyek iOS dan menjalankannya di simulator tanpa ada kesalahan setelah bekerja keras untuk kemajuan peningkatan. Pertama saya menerapkan diffs dengan bantuan rn-diff-purge kemudian saya menerapkan solusi @Hless 'pada akhirnya saya menghadapi kesalahan simbol duplikat dan dengan mengikuti langkah-langkah pada solusi ini saya memperbaikinya juga sekarang proyek bekerja dengan benar.
Diatasi dengan yang berikut:
rm -rf node_modules
rm -rf ios/Pods
rm ios/Podfile.lock
rm -rf ~Library/Developer/Xcode/DerivedData
Kemudian saya menginstal ulang dependensi saya (npm & pod) dan berhasil :)
rm -rf ~ Library / Developer / XCode / DerivedData
baris kanan adalah: rm -rf ~/Library/Developer/Xcode/DerivedData
Setiap kali saya menemukan masalah menarik rambut dengan RN yang memberi saya beberapa pesan kesalahan yang tidak masuk akal, saya terus mencari solusi dengan putus asa. Sering kali solusinya adalah menghapus cache, menghapus data turunan, membuka kembali Xcode, membersihkan folder build, dll. Selama bertahun-tahun saya telah mengumpulkan skrip bash yang telah saya tambahkan sebagai skrip npm di package.json saya. Sekarang solusi goto pertama saya untuk sebagian besar masalah adalah 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. Dan itu memecahkan masalah ini untuk saya juga: D
hanya pod install
berhasil untuk saya
silahkan. Xcode 10.1 yang diturunkan
react-native link
membantu saya. :(
React Native tidak dapat dipertahankan, 100 resolusi ditawarkan untuk setiap bug yang ditemukan seseorang. Satu perubahan dan seluruh proses build, boilerplate, dan alasan untuk menggunakan react native berantakan. Bagaimana perusahaan dapat benar-benar menambahkan proses pengembangan ini ke jalur produk. konyol !!!!
Mereka bilang akan lebih baik dari 0,59 ke .. semoga mereka benar tentang itu
@philipaarseth Saya harap Anda makan kata-kata Anda ketika 0.60 keluar 😆
Saya telah melihat ini di utas lain sebelumnya, tetapi menjalankan yang berikut ini memecahkan masalah untuk saya:
cd node_modules/react-native/scripts
./ios-install-third-party.sh
Saya pikir ini telah diperbaiki di 0,59 atau sebelumnya dan saya ingat melihatnya berjalan secara otomatis di beberapa build, tetapi sepertinya masih ada kasus di mana itu hilang.
Sangat berharga untuk disertakan di bagian pemecahan masalah proyek Anda, karena ini bukan pertama kalinya saya melihat ini terjadi.
Jalankan perintah ini: $ conda deactivate
@jpudysz terima kasih, ini berhasil untuk saya. tapi kenapa rn yoga build error berhubungan dengan folly / glog / doubleConversion?
log kesalahan saya adalah:
Perintah berikut menghasilkan masalah penganalisis:
Analisis / Pengguna/superqa/jenkins/workspace/xxxxx-xxxx-iOS-new/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp normal arm64
Analisis arm normal Base / RCTModuleMethod.mm64
(2 perintah dengan masalah penganalisis)
Android bekerja dengan sangat sempurna, hanya iOS ... :-(
Satu-satunya solusi yang menjanjikan mungkin adalah menurunkan versi RN
Ini menjadi cukup sulit ketika memiliki banyak dependensi pihak ke-3.
dalam kasus saya, Xcode baru saja melakukan pembaruan otomatis dan menghasilkan masalah seperti itu.
apa yang saya lakukan untuk menyelesaikan masalah adalah:
cd ios
rm -fr Pod
rm Podfile.lock
pemasangan pod
instal ulang Pod dan Podfile memecahkan masalah saya
Hapus data turunan
cd ios
hapus Pod dan Podfile.lock
pemasangan pod
Saya telah melakukan semua langkah di atas, membuat build berfungsi, dan sekarang saya mendapatkan kesalahan ini. FWIW Saya mengupgrade dari Xcode 10.1 -> 11.1 DAN saya mengupgrade react native dari 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
edit: Saya menghapus RCTTest dari podfile dan itu bagus setelah itu.
Saya juga melihat kesalahan
#include <folly/Portability.h>
. Masalah dalam kasus saya adalah kehilangan subspec di podfile.Itu membangun baik untuk saya dengan:
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'
Saya mengalami masalah mendapatkan glog untuk menginstal, akhirnya harus mengeluarkan perintah ini sudo xcode-select --switch /Applications/Xcode.app/
cukup yakin karena saya menjalankan Xcode dari direktori yang berbeda, kemudian memindahkannya ke direktori / Applications saya, dan perkakas semuanya kacau balau .
@jenskuhrjorgensen Perintah rm
menghapus seluruh $ TMPDIR karena ruang yang Anda miliki di sana.
@ jduffy7 Itu mungkin agak berlebihan 😄 Thx, ini telah diperbaiki!
@jenskuhrjorgensen Terima kasih !!!!!
Menjalankan pod update
berhasil untuk saya.
Perubahan apapun .. ?
Solusi di atas tidak berhasil, berikut ini membantu proyek saya untuk dibangun kembali.
cd ios
pod repo update
pod update
Setelah menjalankan perintah ini, saya dapat membangun di xcode tetapi tidak menggunakan react-native run-ios
. Saya kemudian menjalankan perintah ini (terima kasih https://github.com/facebook/react-native/issues/23886#issuecomment-509528212):
rm -rf ios/build
rm -rf ~/Library/Developer/Xcode/DerivedData
watchman watch-del-all
rm -rf node_modules
npm install
yang membantu saya membangun menggunakan react-native run-ios
lagi.
@khanguslee Saya melakukannya tapi sayangnya itu tidak bisa dibangun
dan mendapatkan kesalahan ini
* BUILD GAGAL *
Perintah build berikut gagal:
PhaseScriptExecution [CP] Periksa Pods Manifest.lock /../ios/build/music/Build/Intermediates.noindex/music.build/Debug-iphonesimulator/music.build/Script-C5D676D55145145333E00AC9.sh
(1 kegagalan)
Menampilkan Semua Pesan
: -1: Sandbox tidak sinkron dengan Podfile.lock. Jalankan 'pod install' atau perbarui penginstalan CocoaPods Anda.
Sandbox tidak sinkron dengan Podfile.lock. Jalankan 'pod install' atau perbarui penginstalan CocoaPods Anda.
Pencarian Google cepat dengan pesan kesalahan Anda memberi saya solusi di sini.
Komentar yang paling membantu
Saya mendapat masalah yang sama ..., Setiap kali ada masalah dengan peningkatan di react native jadi capek ..