Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Legacy source builds fail when Python 2 is installed only as
python2.7, when a previous build leaves a stale/danglingtmpbin/pythonlink, or when a pyenv-style shim dispatches using its command name. Relative PATH entries also produce broken links after changing into the Node source directory.Find
python2.7whenpython2is absent. For Node before 8.8, write an executable launcher that invokes the selected command by its original absolute, shell-quoted path and forwards arguments. Remove previous symlinks without changing their targets, and refresh the launcher on retries. Preserve #429's version boundaries: 8.8–12.x get no PATH override; 13+ do not require Python 2.Validation on macOS:
0c67226and pass after this change. They cover the five reported cases plus retrying with a different interpreter, using fake configure/make/Python commands without downloading Node.test_mirror_credentials_stay_out_of_error_messagesreceiving HTTP 503, reproduced on unchanged base.python -m flake8 --extend-ignore=E127 nodeenv.py tests setup.pyandgit diff --checkpassed.Actual old Node compilation with a real Python 2 installation, Linux/Windows execution, and the remaining Python CI matrix were not run locally. Prepared and reviewed with Codex assistance.
Closes #435.
CI follow-up: Windows unit tests exposed a hard-coded POSIX path in the launcher assertion. The follow-up uses a native temporary path (including spaces) and checks parsed shell arguments while retaining the shebang, build-command and PATH assertions; no tests are skipped. The production implementation is unchanged. Python 3.10 and 3.13 each pass all 17 related tests, and flake8 passes. New Windows CI is pending.