Run packager.sh using '.' instead of 'source'.

Summary:
'source' is not available in all shells on Linux (e.g. dash) and will silently fail launchPackager.command when called from runAndroid.js.

react-native run-android will thus silently fail to start the developement server ('JS server').

What existing problem does the pull request solve?

When running "react-native run-android" on the below reasonably vanilla Ubuntu system, the development server / packager script fails to start. It fails because sh defaults to dash (not bash) which doesn't know the command 'source'. dot (.) does the same as source, but works in all shells.

$ uname -a
Linux dallas 4.8.0-52-generic #55~16.04.1-Ubuntu SMP Fri Apr 28 14:36:29 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$ which sh
/bin/sh

$ readlink -f /bin/sh
/bin/dash

react-native-cli: 2.0.1
react-native: 0.44.0

$ ps aux | grep packager
(nothing)

ps aux | grep packager
sh /home/xxx/code/react-native/AwesomeProject/node_modules/react-native/packager/launchPackager.command
node /home/xxx/code/react-native/AwesomeProject/node_modules/react-native/packager/../local-cli/cli.js start
Closes https://github.com/facebook/react-native/pull/14040

Differential Revision: D5096298

Pulled By: hramos

fbshipit-source-id: 88466e802c9bc4358840391edb37e153f0a6b1f7
This commit is contained in:
Sebastian Bargmann 2017-05-19 14:40:36 -07:00 committed by Facebook Github Bot
parent 1c77e4a79f
commit 29c6548961
1 changed files with 1 additions and 1 deletions

View File

@ -13,7 +13,7 @@ clear
THIS_DIR=$(dirname "$0") THIS_DIR=$(dirname "$0")
pushd "$THIS_DIR/.." pushd "$THIS_DIR/.."
source packager/packager.sh . packager/packager.sh
popd popd
echo "Process terminated. Press <enter> to close the window" echo "Process terminated. Press <enter> to close the window"