Permalink
Browse files

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 #14040

Differential Revision: D5096298

Pulled By: hramos

fbshipit-source-id: 88466e802c9bc4358840391edb37e153f0a6b1f7
  • Loading branch information...
sebbarg authored and facebook-github-bot committed May 19, 2017
1 parent 225c4c0 commit 2f71270569ab88517fd4db63be67d5e488677a68
Showing with 1 addition and 1 deletion.
  1. +1 −1 packager/launchPackager.command
@@ -13,7 +13,7 @@ clear
THIS_DIR=$(dirname "$0")
pushd "$THIS_DIR/.."
source packager/packager.sh
. packager/packager.sh
popd
echo "Process terminated. Press <enter> to close the window"

0 comments on commit 2f71270

Please sign in to comment.