-
Notifications
You must be signed in to change notification settings - Fork 24.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce .xcode.env configuration file to source node
#33546
Conversation
This pull request was exported from Phabricator. Differential Revision: D35317070 |
template/ios/.xcode.env
Outdated
# PATH to the node executable. You can use the `command -v node` to check what value make sense for your set up | ||
# This `.xcode.env` file is versioned. To customize your local environment, you can create an `.xcode.local.env` | ||
# file that is not versioned. | ||
export NODE_BINARY=/usr/local/bin/node |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we just use command -v node
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is what worked for me:
. "$(brew --prefix asdf)/asdf.sh"
export NODE_BINARY=$(command -v node)
so I think we should definitely add some examples in the comment, and probably change it to export NODE_BINARY=$(command -v node)
by default.
I could see this working:
export NODE_BINARY=/usr/local/bin/node | |
# if you use: | |
# nvm with brew, uncomment the following | |
# . "$(brew --prefix nvm)/nvm.sh" --no-use | |
# asdf with brew, uncomment the following | |
# . "$(brew --prefix asdf)/asdf.sh" | |
export NODE_BINARY=$(command -v node) |
Or something similar, maybe a link to a subsection of https://reactnative.dev/docs/environment-setup where we put a bunch of examples that the community can update? like
export NODE_BINARY=/usr/local/bin/node | |
# if you use any node version managers like nvm, asdf etc, | |
# make sure to add the right command to make `node` discoverable for your setup. | |
# Look at https://reactnative.dev/docs/environment-setup#finding-node for more info. | |
export NODE_BINARY=$(command -v node) |
and in that subsection we could also have a button like "Add your own node version manager if its not here", with a button to create a PR on that file. Maybe we can explain also how and what is needed, like "asdf and other managers needs to run a script to make sure the right node version is in your PATH. You probably have this already in your .zshrc. Xcode needs this too, as it does not read your .zshrc, so if your node version manager requires a line like that, please add it here and in your .xcode.env or .xcode.local.env".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that we would like to avoid a long list of commented examples that users can uncomment.
What happens when something changes in one of these node managers and the commented code does not work anymore? We have to maintain it.
Encouraging users to add their favourite node
manager also defeats the purpose of having a versioned .env
file that can be different project by project. At that point, we could have kept the old find-node
buried in the build steps.
I think that it's ok to add one example, to show the developers how to configure a different node manager, perhaps one with a complex setup, but we should not accept PRs where people add different managers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
true. ok lets keep at least one example, maybe a tiny explanation of what should go there, and/or maybe a link to some doc?
i think a doc could easily have a bunch of examples that everyone can make a PR to add/update an example with what they have found, so others can just copy/paste?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pvinis I added some documentation within the .xcode.env
file itself and I'm going to explain it also in the website. Do you think that it is enough documentation? Do you have something else in mind?
Base commit: 9f1fa91 |
Base commit: 9f1fa91 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a commend with some suggestions.
Really great work!
I think this will simplify the RN Core/Community work to maintain that find-node script.
It might cause some small headaches as people try to figure out how to use the .env and .local.env files. I can see teams using the main way in .env and devs with different setups using the .local.env, and I can see teams using basically the old find-node way, of some ifs and then the command -v thing. Both cool, but we should tell/show people how and why this can work.
As follow-up work, I think:
- we should edit the
scripts/react_native_pods_utils/script_phases.sh
to instead oferror: Could not find node. Make sure it is in bash PATH or set the NODE_BINARY environment variable.
say something likeerror: Could not find node. Edit .xcode.env to make sure it is found in bash PATH or set the NODE_BINARY environment variable.
. - we should definitely notify people, possibly marking this as a
BREAKING CHANGE
. - we should have some notes/help in the rn website with some explanation and guidance and examples, as well as explain the difference and use cases of
.xcode.env
and.xcode.local.env
.
template/ios/.xcode.env
Outdated
# PATH to the node executable. You can use the `command -v node` to check what value make sense for your set up | ||
# This `.xcode.env` file is versioned. To customize your local environment, you can create an `.xcode.local.env` | ||
# file that is not versioned. | ||
export NODE_BINARY=/usr/local/bin/node |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is what worked for me:
. "$(brew --prefix asdf)/asdf.sh"
export NODE_BINARY=$(command -v node)
so I think we should definitely add some examples in the comment, and probably change it to export NODE_BINARY=$(command -v node)
by default.
I could see this working:
export NODE_BINARY=/usr/local/bin/node | |
# if you use: | |
# nvm with brew, uncomment the following | |
# . "$(brew --prefix nvm)/nvm.sh" --no-use | |
# asdf with brew, uncomment the following | |
# . "$(brew --prefix asdf)/asdf.sh" | |
export NODE_BINARY=$(command -v node) |
Or something similar, maybe a link to a subsection of https://reactnative.dev/docs/environment-setup where we put a bunch of examples that the community can update? like
export NODE_BINARY=/usr/local/bin/node | |
# if you use any node version managers like nvm, asdf etc, | |
# make sure to add the right command to make `node` discoverable for your setup. | |
# Look at https://reactnative.dev/docs/environment-setup#finding-node for more info. | |
export NODE_BINARY=$(command -v node) |
and in that subsection we could also have a button like "Add your own node version manager if its not here", with a button to create a PR on that file. Maybe we can explain also how and what is needed, like "asdf and other managers needs to run a script to make sure the right node version is in your PATH. You probably have this already in your .zshrc. Xcode needs this too, as it does not read your .zshrc, so if your node version manager requires a line like that, please add it here and in your .xcode.env or .xcode.local.env".
Is there any way to help make sure people get this set up correctly and are able to get past this upgrade step successfully? Maybe react native doctor could be helpful here? Could it check that these files are set up properly and that it can actually find a node binary? |
Thank you everyone for the comments! I'll answer here to the points that do not have any line reference
Yes, you are right. I'll improve the error messages! 👍
I think this will be done with version 0.69 or 0.70. The changelog will be updated accordingly!
Yes, the work on this will be considered concluded with that documentation as well. But the website resides on a different repo, so I have to create a separate PR! ;)
I was thinking about something similar. I think that the best solution will be to add those files when the devs update the version of RN to the one that support this feature. I mean adding these files during the Do we already have a To start with, I think that good error messages and a proper documentation will be of a lot of help already. |
We do have one: https://github.com/react-native-community/cli/blob/master/docs/commands.md#doctor Please don't create a new one 😅 |
This pull request was exported from Phabricator. Differential Revision: D35317070 |
) Summary: Pull Request resolved: facebook#33546 This Diff does 2 things: 1. Removes all the remnant of the `find-node.sh` script. This allows React Native to stay agnostic from any other node manager 2. Introduces a way for the developers to specify which `node` executable they want to use, through a simple `.env` file. ## Changelog [iOS][Changed] - This PR removes the `find-node.sh` scripts and replaces it with an `.xcode.env` file that is sourced by the script phases that needs it. The `.xcode.env` file is versioned: to customize a local environment, an unversioned `.xcode.local.env` can be used. Differential Revision: D35317070 fbshipit-source-id: f1188c6b0b95c2358fecf3bb14791944a3d358cf
ae38ffe
to
99d4b66
Compare
scripts/xcode/with-environment.sh
Outdated
else | ||
echo "[Error] Could not find the .xcode.env file. " \ | ||
"Make sure to have that file properly configured with a valid configuration for the NODE_BINARY variable. " \ | ||
"You can set it up quickly by running: " \ | ||
"echo 'export NODE_BINARY=$(command -v node)' > .xcode.env " \ | ||
"in the ios folder." >&2 | ||
exit 1 | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As long as command -v node
returns a valid path, I don't think we should fail. We should move the else-block further down.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I got your suggestion.
This error occurs when the .xcode.env
file is missing and it contains a suggestion about how to configure it.
Plus, I removed node
from my system folder and to me $(command -v node)
returns an empty path when run from Xcode, while it returns a valid brew
path when run outside Xcode.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think .xcode.env
should be opt-in. As long as node
can be found, we shouldn't stop because .xcode.env
is missing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In other words:
ENV_PATH="$PODS_ROOT/../.xcode.env"
if [ -f "$ENV_PATH" ]; then
source "$ENV_PATH"
fi
LOCAL_ENV_PATH="${ENV_PATH}.local"
if [ -f "$LOCAL_ENV_PATH" ]; then
source "$LOCAL_ENV_PATH"
fi
if command -v node >/dev/null 2>&1; then
# Execute argument, if present
if [ -n "$1" ]; then
# Use `$@` here to forward all arguments
$@
fi
else
# Tell people how to set up .xcode.env so Xcode can find Node here
fi
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I like this approach. I think that introduces complexity and ambiguity.
Imagine that I have two different node managers and I setup one of them in my .env.xcode
while the command -v node
returns the other one (That was actually my setup before start working on this pr: the command -v node
returned /usr/local/bin/node
from Xcode but outside of Xcode was returning the nvm installation in my brew).
We are continuing the execution under the assumption that Xcode will use the node returned by command -v node
while it will actually use the one in the .xcode.env
file. I can see users get lost because of this misalignment. Also, they will need to actually know how Xcode works behind the curtains to understand that command -v node
could return something different within the IDE.
And we lose the possibility to fail fast in case of misconfigurations.
I think that it's better to ask everyone to have a proper .xcode.env
file configured on their system for the simplicity it could bring and the disambiguation it provides. Plus, it is not that we are adding a strong opinion on anything: people can keep using their favourite manager.
What do you think? does it make sense?
I'd like to have also @cortinico opinion on this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to have also @cortinico opinion on this.
My 2 cents here: have we considered keeping find-node-for-xcode.sh
as a fallback scenario?
I know this would complicate the script a bit but it would provide a full fallback proof solution, that we can evolve further in the next release. Specifically something like:
export NODE_BINARY=$(command -v node)
source .xcode.env
source .xoce.env.local
if [ -z $NODE_BINARY]; then
echo "[Warning] You need to configure your node path in the `'.xcode.env' file` environment." \
"You can set it up quickly by running: " \
"echo 'export NODE_BINARY=$(command -v node)' > .xcode.env " \
" This is needed in order for React Native to work correctly. We will fallback to the deprecated behavior of finding `node`, but this will be deprecated in a future version of RN." \
" You can read more about this here: <TODO-ADD LINK HERE>"
source find-node.sh
fi
if [ -n $1 ]; then
$1
fi
That's essentially what @tido64 suggested here: https://github.com/facebook/react-native/pull/33546/files#r842486987 but with a full fallback to the current behavior.
This will also print a warning to the users if the fallback is invoked, so we could safely remove find-node.sh
in a future release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The proposal of putting back find-node-for-xcode
is more conservative and for sure gives us more space and time to improve the setup.
The [Warning]
in the message is tricky: the script is executed in Xcode and the IDE does not have a particularly good way to present them. They got summered in a lot of other warnings and they will go unnoticed for sure...
I am not sure about what's the best path in this case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to be clear, I do not want to bring back find-node.sh
. As I said earlier:
All my issues have been with
find-node.sh
failing to find some randomnvm
config file that I don't use.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to be clear, I do not want to bring back find-node.sh
Same for me, but if removing it creates so much trouble for our users and we end up creating a blocking scenario for most of our users, I'm in for deprecating it + moving to a better approach.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I updated the PR with another alternative.
I'm following the approach suggested by @cortinico, putting back the find-node-for-xcode.sh
.
- Notice that that script is sourced as last alternative. Therefore, if
command -v node
works or the.xcode.env
are set up properly, it won't be sourced (avoiding all the issues @tido64 and many other users may had in the past) - In case of weird configurations, nothing changes w.r.t. the previous setup. So these changes will be transparent to all the users
- This gives us more leeway to smoothly transition away from the
find-node.sh
script.
I think that it is the best solution for this release. In the next one, we can finally dump the find-node.sh
for good.
What do you think?
This pull request was exported from Phabricator. Differential Revision: D35317070 |
) Summary: Pull Request resolved: facebook#33546 This Diff does 2 things: 1. Removes all the remnant of the `find-node.sh` script. This allows React Native to stay agnostic from any other node manager 2. Introduces a way for the developers to specify which `node` executable they want to use, through a simple `.env` file. ## Changelog [iOS][Changed] - This PR removes the `find-node.sh` scripts and replaces it with an `.xcode.env` file that is sourced by the script phases that needs it. The `.xcode.env` file is versioned: to customize a local environment, an unversioned `.xcode.local.env` can be used. Differential Revision: D35317070 fbshipit-source-id: 4973e9c6b4c39e8a60c44670f25799a1b723b07b
99d4b66
to
14fdac9
Compare
template/ios/.xcode.env
Outdated
# PATH to the node executable. You can use the `command -v node` to check what value make sense for your set up | ||
# This `.xcode.env` file is versioned. To customize your local environment, you can create an `.xcode.env.local` | ||
# file that is not versioned. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dot files inside the template should have be underscored _xcode.env
and should be added to the cli:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened here: react-native-community/cli#1585
scripts/xcode/with-environment.sh
Outdated
else | ||
echo "[Error] Could not find the .xcode.env file. " \ | ||
"Make sure to have that file properly configured with a valid configuration for the NODE_BINARY variable. " \ | ||
"You can set it up quickly by running: " \ | ||
"echo 'export NODE_BINARY=$(command -v node)' > .xcode.env " \ | ||
"in the ios folder." >&2 | ||
exit 1 | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to have also @cortinico opinion on this.
My 2 cents here: have we considered keeping find-node-for-xcode.sh
as a fallback scenario?
I know this would complicate the script a bit but it would provide a full fallback proof solution, that we can evolve further in the next release. Specifically something like:
export NODE_BINARY=$(command -v node)
source .xcode.env
source .xoce.env.local
if [ -z $NODE_BINARY]; then
echo "[Warning] You need to configure your node path in the `'.xcode.env' file` environment." \
"You can set it up quickly by running: " \
"echo 'export NODE_BINARY=$(command -v node)' > .xcode.env " \
" This is needed in order for React Native to work correctly. We will fallback to the deprecated behavior of finding `node`, but this will be deprecated in a future version of RN." \
" You can read more about this here: <TODO-ADD LINK HERE>"
source find-node.sh
fi
if [ -n $1 ]; then
$1
fi
That's essentially what @tido64 suggested here: https://github.com/facebook/react-native/pull/33546/files#r842486987 but with a full fallback to the current behavior.
This will also print a warning to the users if the fallback is invoked, so we could safely remove find-node.sh
in a future release.
) Summary: Pull Request resolved: facebook#33546 This Diff does 2 things: 1. Removes all the remnant of the `find-node.sh` script. This allows React Native to stay agnostic from any other node manager 2. Introduces a way for the developers to specify which `node` executable they want to use, through a simple `.env` file. ## Changelog [iOS][Changed] - This PR removes the `find-node.sh` scripts and replaces it with an `.xcode.env` file that is sourced by the script phases that needs it. The `.xcode.env` file is versioned: to customize a local environment, an unversioned `.xcode.local.env` can be used. Differential Revision: D35317070 fbshipit-source-id: d368fa95bab7e39fcdccec4962df337fb33a48c9
This pull request was exported from Phabricator. Differential Revision: D35317070 |
14fdac9
to
a688169
Compare
@TheSavior @tido64 I tried to add support to the |
This pull request was successfully merged by @cipolleschi in 0480f56. When will my fix make it into a release? | Upcoming Releases |
# Why the `source-login-scripts.sh` introduced a lot of pain where the community reported much build errors from it. it doesn't support shells other than zsh and bash. this pr find a new way to deal with xcode building issues that it cannot find the correct nodejs path. close ENG-4864 close ENG-5242 # How react-native introduces `.xcode.env` and `.xcode.env.local` for developers to override the `$NODE_BINARY`: facebook/react-native#33546 to make sure building success from expo-constants, expo-updates, and also the app target when generating bundles. i would like to reuse the `.xcode.env` and `.xcode.env.local` from react-native. this pr further generates `.xcode.env.local` automatically for the app during `pod install`. we can ensure that `pod install` is executed from shell and nodejs is available. so we will generate `export NODE_BINARY="$(command -v node)"` in the `.xcode.env.local`. for xcode, the path will be `$PODS_ROOT/../.xcode.env.local`, every xcode subprojects can source the file to get correct `$NODE_BINARY`. # Test Plan - building bare-expo from xcode (opening xcode by macos finder) - building bare-expo by `yarn ios` - updates e2e ci passed - building expo-go (prerequisite: #18344) Co-authored-by: James Ide <[email protected]>
# Why the `source-login-scripts.sh` introduced a lot of pain where the community reported much build errors from it. it doesn't support shells other than zsh and bash. this pr find a new way to deal with xcode building issues that it cannot find the correct nodejs path. close ENG-4864 close ENG-5242 # How react-native introduces `.xcode.env` and `.xcode.env.local` for developers to override the `$NODE_BINARY`: facebook/react-native#33546 to make sure building success from expo-constants, expo-updates, and also the app target when generating bundles. i would like to reuse the `.xcode.env` and `.xcode.env.local` from react-native. this pr further generates `.xcode.env.local` automatically for the app during `pod install`. we can ensure that `pod install` is executed from shell and nodejs is available. so we will generate `export NODE_BINARY="$(command -v node)"` in the `.xcode.env.local`. for xcode, the path will be `$PODS_ROOT/../.xcode.env.local`, every xcode subprojects can source the file to get correct `$NODE_BINARY`. # Test Plan - building bare-expo from xcode (opening xcode by macos finder) - building bare-expo by `yarn ios` - updates e2e ci passed - building expo-go (prerequisite: #18344) Co-authored-by: James Ide <[email protected]>
do we have to do something so that this file is "recognized"? in the changes here i see these lines: inputPaths = (
+ "$(SRCROOT)/.xcode.env.local",
+ "$(SRCROOT)/.xcode.env",
); but i have no such lines in my own project. if i search my project for .xcode.env i only get results from .gitignore and the file itself. nothing in inputPaths i also tried creating a new project running 0.69 and there i can see the inputPaths just like the changes shown here. Solutionokay i found out how to get the desired result. these changes can be done in xcode. you can see these changes are right under somewhere where it says: you can find this section in xcode:
then i can see the changes in git. for reference, this is new script to paste in:
for simplicity, i created a new react native project running 0.69 and just copy-pasted the script. |
@Adnan-Bacic: are you migrating to 0.69 or are you creating a new project? When creating a new project, you should see a If you are migrating from a version < 0.69 to version 0.69, you have to create it yourself, as shown here, point 6. To make it work, you just have to have the file as a sibling of the |
I'm sorry but I'm a bit lost. What's the problem with that? Is it giving you build errors or something? If yes, could you share what's happening? |
@Adnan-Bacic I think you didn't follow the upgrade helper properly. It shows how you need to modify your xcode project: |
no the project builds and it works. i just assume the file is not being used if it is not referenced anywhere. basically making it redundant unless i can see that the file path appears somewhere.
but isent this an autogenerated file you are never supposed to manually change? usually this file will automatically adjust when some changes i made. for example, when changing the minimum supported ios version in this update from 11 to 12.4, i changed it in xcode, and this file was automatically updated, where it changed the |
Same thing is true for modifying a script. You can either do it in XCode via the UI or you can modify the pbxproj directly. Same as you did with the deployment target. |
makes sense. but where in xcode would we change this and how? it seems to me like this comes from |
This seems more like something you should ask in the appropriate channels (e.g. https://github.com/react-native-community/upgrade-support), not in a PR. |
# Why the `source-login-scripts.sh` introduced a lot of pain where the community reported much build errors from it. it doesn't support shells other than zsh and bash. this pr find a new way to deal with xcode building issues that it cannot find the correct nodejs path. close ENG-4864 close ENG-5242 # How react-native introduces `.xcode.env` and `.xcode.env.local` for developers to override the `$NODE_BINARY`: facebook/react-native#33546 to make sure building success from expo-constants, expo-updates, and also the app target when generating bundles. i would like to reuse the `.xcode.env` and `.xcode.env.local` from react-native. this pr further generates `.xcode.env.local` automatically for the app during `pod install`. we can ensure that `pod install` is executed from shell and nodejs is available. so we will generate `export NODE_BINARY="$(command -v node)"` in the `.xcode.env.local`. for xcode, the path will be `$PODS_ROOT/../.xcode.env.local`, every xcode subprojects can source the file to get correct `$NODE_BINARY`. # Test Plan - building bare-expo from xcode (opening xcode by macos finder) - building bare-expo by `yarn ios` - updates e2e ci passed - building expo-go (prerequisite: expo#18344) Co-authored-by: James Ide <[email protected]>
fair enough, but many other people have had similar problems with these files, and there arent any answers about how to actually solve it: react-native-community/upgrade-support#191 react-native-community/upgrade-helper#270 react-native-community/upgrade-helper#255 react-native-community/upgrade-support#136 edit: okay i found out how to solve this specific problem. edit can be found in my original question: #33546 (comment) |
# Why the `source-login-scripts.sh` introduced a lot of pain where the community reported much build errors from it. it doesn't support shells other than zsh and bash. this pr find a new way to deal with xcode building issues that it cannot find the correct nodejs path. close ENG-4864 close ENG-5242 # How react-native introduces `.xcode.env` and `.xcode.env.local` for developers to override the `$NODE_BINARY`: facebook/react-native#33546 to make sure building success from expo-constants, expo-updates, and also the app target when generating bundles. i would like to reuse the `.xcode.env` and `.xcode.env.local` from react-native. this pr further generates `.xcode.env.local` automatically for the app during `pod install`. we can ensure that `pod install` is executed from shell and nodejs is available. so we will generate `export NODE_BINARY="$(command -v node)"` in the `.xcode.env.local`. for xcode, the path will be `$PODS_ROOT/../.xcode.env.local`, every xcode subprojects can source the file to get correct `$NODE_BINARY`. # Test Plan - building bare-expo from xcode (opening xcode by macos finder) - building bare-expo by `yarn ios` - updates e2e ci passed - building expo-go (prerequisite: expo#18344) Co-authored-by: James Ide <[email protected]>
) Summary: Pull Request resolved: facebook#33546 This Diff does 2 things: 1. Removes all the remnant of the `find-node.sh` script. This allows React Native to stay agnostic from any other node manager 2. Introduces a way for the developers to specify which `node` executable they want to use, through a simple `.env` file. [iOS][Changed] - This PR removes the `find-node.sh` scripts and replaces it with an `.xcode.env` file that is sourced by the script phases that needs it. The `.xcode.env` file is versioned: to customize a local environment, an unversioned `.xcode.local.env` can be used. Reviewed By: cortinico Differential Revision: D35317070 fbshipit-source-id: 4b400ba56aa2d574db563fa67b2008e1ddde1c59
Summary:
This Diff does 2 things:
find-node.sh
script. This allows React Native to stay agnostic from any other node managernode
executable they want to use, through a simple.env
file.Changelog
[iOS][Changed] - This PR removes the
find-node.sh
scripts and replaces it with an.xcode.env
file that is sourced by the script phases that needs it. The.xcode.env
file is versioned: to customize a local environment, an unversioned.xcode.local.env
can be used.Differential Revision: D35317070