В журнале всегда есть 2 ошибки, касающиеся конфигурации Hermes.
PhaseScriptExecution [CP-User] [Hermes] При необходимости замените Hermes на правильную конфигурацию /Users/expo/Library/Developer/Xcode/DerivedData/MoneyStorydevelopment-ewmnbthazvkqocaoywdseidfxfru/Build/Intermediates.noindex/ArchiveIntermediates/MoneyStorydevelopment/IntermediateBuildFilesPath/ Pods.build/Release-iphoneos/hermes-engine.build/Script-46EB2E00029E40.sh (в целевом «hermes-engine» из проекта «Pods»)
После того, как я скачал логи, вот что из них:
Узел найден по адресу: /Users/expo/.nvm/versions/node/v18.18.0/ bin/node
Подготовка окончательного местоположения
node:internal/fs/utils:350
throw err;
^
Ошибка: EPERM: операция не выполнена разрешено, сканируйте 'hermes-engine'
в readdirSync (узел:fs
в _rmdirSync (узел:internal/fs/rimraf:250:29)
в rimrafSync (узел :internal/fs/rimraf:200:14)
в Object.rmSync (node:fs
в replaceHermesConfiguration (/Users/expo/workingdir/build/node_modules/react-native/ sdks/hermes-engine/utils/replace_hermes_version.js:60:6)
в main (/Users/expo/workingdir/build/node_modules/react-native/sdks/hermes-engine/utils/replace_hermes_version.js: 79:3)
на Объекте. (/Users/expo/workingdir/build/node_modules/react-native/sdks/hermes-engine/utils/replace_hermes_version.js:106:1)
в Module._compile (node:internal/modules/cjs/loader
в Module._extensions..js (node:internal/modules/cjs/loader
в Module.load (node:internal/modules/cjs/loader: 1119:32) {
ошибка: -1,
системный вызов: 'scandir',
код: 'EPERM',
путь: 'hermes-engine'
}
Node.js v18.18.0
Выполнение команды PhaseScriptExecution завершилось с ошибкой с ненулевым кодом завершения
Вся сборка выполняется с помощью expo build не на локальном языке.
Пока я отлаживаю это, я пытаюсь встроить его в свой локальный, и он работает, и файл IPA генерируется так, как должно быть.
app.config:
Код: Выделить всё
const config = {
expo: {
name: getDetails().appName,
owner: "casteluke-creative-labs",
slug: "MoneyStory",
version: appVersion,
orientation: "portrait",
icon: "./assets/images/icon.png",
scheme: getDetails().scheme,
userInterfaceStyle: "automatic",
splash: {
image: "./assets/images/splash.png",
resizeMode: "contain",
backgroundColor: "#ffffff",
},
extra: {
eas: {
projectId: "b14fb348-ce9d-40ea-8db0-3c190bc0c531",
},
},
updates: {
url: "https://u.expo.dev/b14fb348-ce9d-40ea-8db0-3c190bc0c531",
},
runtimeVersion: {
policy: "appVersion",
},
ios: {
supportsTablet: true,
bundleIdentifier: getDetails().packageName,
buildNumber: getDetails().buildNumber.toString(),
googleServicesFile: getDetails().fb_ios,
// jsEngine: "jsc",
},
android: {
adaptiveIcon: {
foregroundImage: "./assets/images/adaptive-icon.png",
backgroundColor: "#ffffff",
},
package: getDetails().packageName,
versionCode: getDetails().buildNumber,
googleServicesFile: getDetails().fb_android,
// jsEngine: "hermes",
},
web: {
bundler: "metro",
output: "static",
favicon: "./assets/images/favicon.png",
},
plugins: [
"expo-router",
[
"expo-font",
{
fonts: [
"node_modules/@expo-google-fonts/plus-jakarta- sans/PlusJakartaSans_200ExtraLight_Italic.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_300Light_Italic.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_400Regular_Italic.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_500Medium_Italic.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_600SemiBold_Italic.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_700Bold_Italic.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_800ExtraBold_Italic.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_200ExtraLight.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_300Light.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_400Regular.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_500Medium.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_600SemiBold.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_700Bold.ttf",
"node_modules/@expo-google-fonts/plus-jakarta-sans/PlusJakartaSans_800ExtraBold.ttf",
],
},
],
[
"expo-build-properties",
{
ios: {
useFrameworks: "static",
},
},
],
[
"expo-image-picker",
{
photosPermission:
"Money Story access your photo for your profile, card customization, and receipt submission",
},
],
[
"react-native-vision-camera",
{
cameraPermissionText:
"Money Story access your camera to take your profile picture or receipt to be submitted and displayed through our apps",
},
],
"expo-document-picker",
"@react-native-firebase/app",
"@react-native-firebase/auth",
],
experiments: {
typedRoutes: true,
},
},
};
export default config;
Подробнее здесь: https://stackoverflow.com/questions/791 ... ld-is-good
Мобильная версия