iOS build freezes after exp update

Hi!

Today I’ve updated exp to 47.3.10 and now when I am trying to build iOS app my terminal shows this:

[exp] Making sure project is set up correctly...
[exp] Your project looks good!
[exp] Checking if current build exists...

[exp] No currently active or previous builds for this project.
[ { action: 'ruby_dir',
    path: 'C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.1-linux-x86_64',
    doesExist: false },
  { action: 'app_management',
    path: 'C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.1-linux-x86_64\\app_management',
    doesExist: true },
  { action: 'fetch_cert',
    path: 'C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.1-linux-x86_64\\fetch_cert',
    doesExist: true },
  { action: 'fetch_new_provisioning_profile',
    path: 'C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.1-linux-x86_64\\fetch_new_provisioning_profile',
    doesExist: true },
  { action: 'fetch_push_cert',
    path: 'C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.1-linux-x86_64\\fetch_push_cert',
    doesExist: true },
  { action: 'validate_apple_certs',
    path: 'C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.1-linux-x86_64\\validate_apple_certs',
    doesExist: true },
  { action: 'validate_apple_credentials',
    path: 'C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.1-linux-x86_64\\validate_apple_credentials',
    doesExist: true },
  { action: 'validate_apple_push_certs',
    path: 'C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.1-linux-x86_64\\validate_apple_push_certs',
    doesExist: true } ]

and does nothing more (i’ve been waiting for like 15 minutes to recive some error or success message)

I am working on Windows 10

I have the same problem!

You need to make sure that WSL is 1) Actually enabled, 2) Actually working.

Double check with:

bash.exe -c 'uname'`

Does that work fine in powershell?

Yes, it shows me:

bash.exe -c 'uname'
Linux

Okay I think I found the part of the code that is causing hanging. Thank you, will fix and release.

@gieerzetka Can you upgrade to latest exp, I temporarily turned off some code that I think was causing the hang.
EDIT: Appreciate your patience, working on this.

EDIT2: Can you try on latest exp?

@edgar I have updated to version 47.3.13 but there are new problems:

? Password? ***********
[exp] Validating Credentials...
[exp] Error while gathering & validating credentials
[exp] {"result":"failure","reason":"Could not understand JSON reply from Ruby local auth scripts","rawDump":"/bin/bash: /mnt/c/Users/Nam: No such file or directory\n"}
[exp] undefined
[exp] undefined

Before credentials, console have printed:

[ { action: 'ruby_dir',
    path: 'C:\\Users\\Nam Co\\AppData\\Roaming\\npm\\node_modules\\exp\\node_modules\\@expo\\traveling-fastlane-linux\\traveling-fastlane-1.2.2-linux-x86_64',
    doesExist: false },

Do i need install to any more package?

i’m working on Win 10
Thanks,

Thanks! Is your windows user name ‘Nam Co’, with the white space ? What is your windows user name ? Does it use non ascii symbols ?

@edgar this is my console:

image

All actions is exits, only action: ‘ruby_dir’ is false!

Okay thank you, will have a fix for you soon.

@edgar i renamed my windows username and i have new problems:

? Password? ***********
[exp] Validating Credentials...
[exp] Error while gathering & validating credentials
[exp] {}
[exp] Took too long to execute WSL based command, check your installation of WSL
[exp] Error: Took too long to execute WSL based command, check your installation of WSL
    at Timeout._onTimeout (C:\Users\Edgar\universe\dev\exp\src\commands\build\auth.js:158:31)
    at ontimeout (timers.js:386:14)
    at tryOnTimeout (timers.js:250:5)
    at Timer.listOnTimeout (timers.js:214:5)

Please run with EXPO_DEBUG=true. It is possible that your machine is a little slow and I set the timeout too low, it is set at 2 minutes right now.

@edgar: Thanks for your help. I created the ipa file, but how to push it to Itune from Win 10

Works for me too :slight_smile: thanksfor fast fix! (sry for not answering earlier, but I think we live in different timezones and when you are starting your work, I am ending mine :slight_smile: )

I have something similar on macOS since upgrading exp, I can no longer build iOS apps:

$ EXPO_DEBUG=true exp build:ios
[exp] Checking if current build exists...

[exp] No currently active or previous builds for this project.
[ { action: 'ruby_dir',
    path: '/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx',
    doesExist: false },
  { action: 'app_management',
    path: '/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/app_management',
    doesExist: true },
  { action: 'fetch_cert',
    path: '/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/fetch_cert',
    doesExist: true },
  { action: 'fetch_new_provisioning_profile',
    path: '/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/fetch_new_provisioning_profile',
    doesExist: true },
  { action: 'fetch_push_cert',
    path: '/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/fetch_push_cert',
    doesExist: true },
  { action: 'validate_apple_certs',
    path: '/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/validate_apple_certs',
    doesExist: true },
  { action: 'validate_apple_credentials',
    path: '/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/validate_apple_credentials',
    doesExist: true },
  { action: 'validate_apple_push_certs',
    path: '/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/validate_apple_push_certs',
    doesExist: true } ]
[exp] We do not have some credentials for you, provisioningProfile
? How would you like to upload your credentials?
 Expo handles all credentials, you can still provide overrides

And then if I carry on:

[exp] Validating Credentials...
[exp] Error while gathering & validating credentials
[exp] {"result":"failure","reason":"Could not understand JSON reply from Ruby local auth scripts","rawDump":"/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/gems/2.2.0/gems/bundler-1.9.9/lib/bundler/definition.rb:252:in `rescue in lock': There was an error while trying to write to Gemfile.lock. It is likely that  (Bundler::InstallError)\nyou need to allow write permissions for the file at path: \n/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/vendor/Gemfile.lock\n\tfrom /usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/gems/2.2.0/gems/bundler-1.9.9/lib/bundler/definition.rb:237:in `lock'\n\tfrom /usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/gems/2.2.0/gems/bundler-1.9.9/lib/bundler/environment.rb:34:in `lock'\n\tfrom /usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/gems/2.2.0/gems/bundler-1.9.9/lib/bundler/runtime.rb:44:in `setup'\n\tfrom /usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/gems/2.2.0/gems/bundler-1.9.9/lib/bundler.rb:122:in `setup'\n\tfrom /usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/gems/2.2.0/gems/bundler-1.9.9/lib/bundler/setup.rb:18:in `<top (required)>'\n\tfrom /usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require'\n\tfrom /usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'\n\tfrom /usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.2.2-osx/lib/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'\n"}
[exp] undefined
[exp] undefined

@mlight your global node modules permissions are wrong.

Any idea which or how to solve?

I downgraded exp to 46.0.3 and all is working fine again for now.

For that, you need to use a Mac temporarily to upload. See the expo build docs for more explanation

Well your global permissions for npm are wrong. Have you been using sudo with npm?

Try maybe with an exp installed via yarn global

Not aware of having used sudo with npm other than when installing exp ‘sudo npm install -g exp’

There was a warning about traveling-fastlane-linux (I’m on OSX).

I don’t seem to have a folder “/usr/local/lib/node_modules/exp/node_modules/@expo/traveling-fastlane-darwin” at all.