eas 0.44.1 internal build ERROR: EPERM

eas build for internal distribution
(eas build --profile --platform android)
running into the following errors

IOS:
Push Notifications setup for : <bundle/package>
Error: EPERM: operation not permitted, rmdir
‘C:\Users\herma\AppData\Local\Temp\eas-cli-nodejs\069269de-045c-473b-b49c-913f2c182952-shallow-clone.expo’
Code: EPERM - Compressing project files

ANDROID:
Using Keystore from configuration: Build Credentials (default)
Error: EPERM: operation not permitted, rmdir
‘C:\Users\herma\AppData\Local\Temp\eas-cli-nodejs\a00a7cbc-40bf-4e35-8200-604c4d8f0a1e-shallow-clone.expo’
Code: EPERM - Compressing project files

reason for switching to 0.44.1: IOS build ok but failed for android with error same like:

Environment

EAS CLI 0.44.1 environment info:
System:
OS: Windows 10 10.0.19043
Binaries:
Node: 16.13.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 7.15.0 - C:\Program Files\nodejs\npm.CMD
Utilities:
Git: 2.33.0.
npmPackages:
expo: ^44.0.0 => 44.0.5
expo-updates: ~0.11.4 => 0.11.4
react: 17.0.1 => 17.0.1
react-dom: 17.0.1 => 17.0.1
react-native: 0.64.3 => 0.64.3
react-native-web: 0.17.1 => 0.17.1
Project workflow: managed

And YES, it’s not a matter of WINDOWS user permission. Did everything I found on permission, without any improvement…

switched back to 0.31.0 - guess what: runs smoothly

It turned out that either to accept a dirty git (which is possible) or the eas-cli version in the eas.json was the reason for the error.

if you are referring to the requireCommit field in eas.json, then it’s possible that there are differences in behavior, requireCommit: true is using git shallow clone to create a copy, requireCommit: true(or default behavior) is copying it as it is while still respecting gitnignore

Can you clarify which approach worked for you and which didn’t?

"cli": {
    "version": ">= 0.45.0",
    "requireCommit": true
}

worked for me (finally)


"cli": {
    "version": ">= 0.45.0"
}

didn’t

1 Like

do you have any symlinks in your project that could create a cycle?
does it happen on a clean clone of your repo?

no symlinks and it happend on my repo

Ok, but if you clone you repo again to a different location and try it from there, does it work?

as mentioned above, it works since I opted out requireCommit: true

Do you mean it works in a freshly cloned repository?

If it only works in your existing repository but not a freshly cloned one, it seems you’ve got something that is not committed to Git.

as mentioned above, it works since I opted out requireCommit: true

Yes, but we are talking about a case when requireCommit is not set(or set to false), we can’t fix that if don’t have any way to reproduce that

OK, understand:

With dirty repo
“cli”: {
“version”: “>= 0.45.0”
}
or
“cli”: {
“version”: “>= 0.45.0”,
“requireCommit”: false
}

leads to:
√ Using Keystore from configuration: Build Credentials dTRuIxGm2f (default)
Error: EPERM: operation not permitted, rmdir
‘C:\Users\herma\AppData\Local\Temp\eas-cli-nodejs\c3b22cae-1ca8-4625-b10b-20772e36c186-shallow-clone.expo’
Code: EPERM

“cli”: {
“version”: “>= 0.45.0”,
“requireCommit”: true
}
is running through smoothly

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.