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

tools: add Boxstarter script #17046

Closed
wants to merge 4 commits into
base: master
from

Conversation

@bzoz
Contributor

bzoz commented Nov 15, 2017

Adds a Boxstarter script and documentation for an easy way to install Node.js building prerequisites on Windows. It will install git, python, msbuild tools and optionally VSCode.

Ref: nodejs/code-and-learn#71

The links will not work until this lands. A version with working links can be found here: tools/boxstarter/README.md
Edit: new link - tools/bootstrap/README.md.

Checklist
Affected core subsystem(s)

build, doc, tools

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation
@bzoz

This comment has been minimized.

Show comment
Hide comment
Contributor

bzoz commented Nov 15, 2017

@benjamingr

This comment has been minimized.

Show comment
Hide comment
@benjamingr

benjamingr Nov 15, 2017

Member

cc @refack @mwrock


Great work, I'm hugely +1 on anything that'll make onboarding windows users easier. Boxstarter which I was unfamiliar with looks based on the built in package manager and with a permissive license.

Member

benjamingr commented Nov 15, 2017

cc @refack @mwrock


Great work, I'm hugely +1 on anything that'll make onboarding windows users easier. Boxstarter which I was unfamiliar with looks based on the built in package manager and with a permissive license.

Show outdated Hide outdated tools/boxstarter/README.md Outdated
Show outdated Hide outdated tools/boxstarter/node_boxstarter_vscode Outdated
Show outdated Hide outdated tools/boxstarter/README.md Outdated
@benjamingr

Waiting for vscode

@refack

refack approved these changes Nov 15, 2017

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack Nov 15, 2017

Member

Love it.
I would go one step further and add a shortcut through vcbuild boxstarter:

powershell.exe -ExecutionPolicy Unrestricted -noprofile -Command "&{iex ((New-Object System.Net.WebClient).DownloadString('http://boxstarter.org/bootstrapper.ps1')); get-boxstarter -Force; Install-BoxstarterPackage https://raw.githubusercontent.com/nodejs/node/master/tools/boxstarter/node_boxstarter -DisableReboots}"
Member

refack commented Nov 15, 2017

Love it.
I would go one step further and add a shortcut through vcbuild boxstarter:

powershell.exe -ExecutionPolicy Unrestricted -noprofile -Command "&{iex ((New-Object System.Net.WebClient).DownloadString('http://boxstarter.org/bootstrapper.ps1')); get-boxstarter -Force; Install-BoxstarterPackage https://raw.githubusercontent.com/nodejs/node/master/tools/boxstarter/node_boxstarter -DisableReboots}"
@gibfahn

Cautiously +1 on this, but it seems odd to just have Windows packages documented. I think I'd prefer something in doc/guides/ that covered all platforms (e.g. brew for macOS, apt/yum/pacman+ for Linux etc.).

Show outdated Hide outdated tools/boxstarter/node_boxstarter Outdated

@refack refack added the windows label Nov 15, 2017

@joaocgreis

LGTM with or without VSCode.

Also cc @nodejs/platform-windows

Show outdated Hide outdated tools/boxstarter/README.md Outdated
Show outdated Hide outdated tools/boxstarter/node_boxstarter_vscode Outdated
@digitalinfinity

This comment has been minimized.

Show comment
Hide comment
@digitalinfinity

digitalinfinity Nov 16, 2017

Contributor

This is awesome, thanks @bzoz! (cc @yodurr @rachelnicole). +1 to @refack's suggestion of adding this support to vcbuild too (although I would still prefer having an explicit developer shell for Node but that can come later 😄).

Contributor

digitalinfinity commented Nov 16, 2017

This is awesome, thanks @bzoz! (cc @yodurr @rachelnicole). +1 to @refack's suggestion of adding this support to vcbuild too (although I would still prefer having an explicit developer shell for Node but that can come later 😄).

@bzoz

This comment has been minimized.

Show comment
Hide comment
@bzoz

bzoz Nov 16, 2017

Contributor

Updated the PR, PTAL.

I've renamed it from tools/boxstarter to tools/bootstrap. I've dropped VSCode - I've assumed one of the use cases would be installing dev environment on a completely clean Windows install, having a link that would also install editor sounded reasonable.

@refack vcbuild boxstart would be great, but it needs to be run in a elevated terminal. I guess some more powershell can do the UAC. It could be also used to disable Windows Defender for the Node folder (as mentioned in #16278).

Contributor

bzoz commented Nov 16, 2017

Updated the PR, PTAL.

I've renamed it from tools/boxstarter to tools/bootstrap. I've dropped VSCode - I've assumed one of the use cases would be installing dev environment on a completely clean Windows install, having a link that would also install editor sounded reasonable.

@refack vcbuild boxstart would be great, but it needs to be run in a elevated terminal. I guess some more powershell can do the UAC. It could be also used to disable Windows Defender for the Node folder (as mentioned in #16278).

@gibfahn

This comment has been minimized.

Show comment
Hide comment
@gibfahn

gibfahn Nov 16, 2017

Member

I think you can do this to get elevated powershell:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "..."

(copied from the chocolatey getting started.

Member

gibfahn commented Nov 16, 2017

I think you can do this to get elevated powershell:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "..."

(copied from the chocolatey getting started.

@gibfahn

LGTM modulo nit

Show outdated Hide outdated BUILDING.md Outdated
@bzoz

This comment has been minimized.

Show comment
Hide comment
@bzoz

bzoz Nov 22, 2017

Contributor

Updated - moved the link, and added instructions for Linux. PTAL

Contributor

bzoz commented Nov 22, 2017

Updated - moved the link, and added instructions for Linux. PTAL

Show outdated Hide outdated tools/bootstrap/README.md Outdated
@gibfahn

Yeah this looks great, worth adding macOS too, but otherwise let's land.

Show outdated Hide outdated tools/bootstrap/README.md Outdated
Show outdated Hide outdated tools/bootstrap/README.md Outdated
@digitalinfinity

This comment has been minimized.

Show comment
Hide comment
@digitalinfinity

digitalinfinity Nov 23, 2017

Contributor

I gave this a spin on a new machine which happened to have VS (internal dogfood) and git already installed. There were probably some issues caused by VS already being installed because the boxstarter script ended with a strange warning about chocolatey failing but didn't actually print out what the error was, it just asked me to hit enter and then it exited- but it looks like python27 was installed correctly.

One thing that might be useful to add in the readme is how much free disk space the user should be expected to have before running the script?

Contributor

digitalinfinity commented Nov 23, 2017

I gave this a spin on a new machine which happened to have VS (internal dogfood) and git already installed. There were probably some issues caused by VS already being installed because the boxstarter script ended with a strange warning about chocolatey failing but didn't actually print out what the error was, it just asked me to hit enter and then it exited- but it looks like python27 was installed correctly.

One thing that might be useful to add in the readme is how much free disk space the user should be expected to have before running the script?

@bzoz

This comment has been minimized.

Show comment
Hide comment
@bzoz

bzoz Nov 23, 2017

Contributor

@digitalinfinity I just tried that, a fresh Win2016 install on amazon takes 13.7 GB. After the script it rises to 21.6 GB

Contributor

bzoz commented Nov 23, 2017

@digitalinfinity I just tried that, a fresh Win2016 install on amazon takes 13.7 GB. After the script it rises to 21.6 GB

@gibfahn gibfahn referenced this pull request Nov 26, 2017

Closed

Revert "build,windows: implement PEP514 python detection" #17293

2 of 2 tasks complete
@digitalinfinity

This comment has been minimized.

Show comment
Hide comment
@digitalinfinity

digitalinfinity Nov 27, 2017

Contributor

Great, thanks for checking! Perhaps it would be good to document that expectation?

Contributor

digitalinfinity commented Nov 27, 2017

Great, thanks for checking! Perhaps it would be good to document that expectation?

@bzoz

This comment has been minimized.

Show comment
Hide comment
@bzoz

bzoz Nov 28, 2017

Contributor

Updated, PTAL

Contributor

bzoz commented Nov 28, 2017

Updated, PTAL

@bzoz

This comment has been minimized.

Show comment
Hide comment
@bzoz

bzoz Nov 30, 2017

Contributor

Landed in 61d46dd

Contributor

bzoz commented Nov 30, 2017

Landed in 61d46dd

@bzoz bzoz closed this Nov 30, 2017

bzoz added a commit that referenced this pull request Nov 30, 2017

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: #17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>

@addaleax addaleax removed the author ready label Nov 30, 2017

MylesBorins added a commit that referenced this pull request Dec 12, 2017

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: #17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>

MylesBorins added a commit that referenced this pull request Dec 12, 2017

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: #17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>

@MylesBorins MylesBorins referenced this pull request Dec 12, 2017

Merged

v9.3.0 proposal #17631

gibfahn added a commit that referenced this pull request Dec 19, 2017

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: #17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>

gibfahn added a commit that referenced this pull request Dec 19, 2017

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: #17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>

gibfahn added a commit that referenced this pull request Dec 19, 2017

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: #17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>

@gibfahn gibfahn referenced this pull request Dec 20, 2017

Closed

v8.9.4 proposal #17772

gibfahn added a commit that referenced this pull request Dec 20, 2017

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: #17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>

@gibfahn gibfahn referenced this pull request Dec 20, 2017

Merged

v8.9.4 proposal #17774

@MylesBorins MylesBorins referenced this pull request Dec 20, 2017

Merged

v6.12.3 proposal #17776

msoechting added a commit to hpicgs/node that referenced this pull request Feb 5, 2018

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: nodejs#17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>

msoechting added a commit to hpicgs/node that referenced this pull request Feb 7, 2018

tools: add Boxstarter script
Adds a Boxstarter script for easy Node.js building prerequisites installation

PR-URL: nodejs#17046
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment