Description
I am trying to study react-native directly on my phone. I am able to perform basic development on the phone, but I have to workaround a couple of annoying issues.
Environment
Environment:
OS: android
Node: 8.9.4
Yarn: 1.3.2
npm: 4.6.1
Watchman: Not Found
Xcode: N/A
Android Studio: Not Found
Packages: (wanted => installed)
react: 16.2.0 => 16.2.0
react-native: 0.52.0 => 0.52.0
Expected Behavior
create-react-native-app applicationname
should work and the created application project should be usable.
Actual Behavior
- the creation procedure fails with the following error:
ngrok - error unpacking binary { Error: ENOENT: no such file or directory, open '/data/data/com.termux/files/home/test2/pippo/node_modules/@expo/ngrok/bin/ngrok-stable-android-arm64.zip'
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/data/data/com.termux/files/home/test2/pippo/node_modules/@expo/ngrok/bin/ngrok-stable-android-arm64.zip' }
I was able to skip this issue by just copying ngrok-stable-linux-arm.zip
into /data/data/com.termux/files/home/test2/pippo/node_modules/@expo/ngrok/bin/ngrok-stable-android-arm64.zip
in a continuous loop during the creation process;
2. Created project is not working because os.cpus()
is undefined. I was able to workaround this by patching node_modules/metro/src/lib/getMaxWorkers.js
and node_modules/metro/src/lib/getMaxWorkers.js.flow
with a change like const cores = (os.cpus() || {length: 1}).length;
.
Steps to Reproduce
On an Android system with Oreo, install Termux, then in Termux install npm, patch npm as described in github.com/termux/termux-packages/issues/1798, use npm to install npm version 4.6.1, use npm 4.6.1 to install react-native, try to create a new project.