Skip to content
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 from
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ Depending on host platform, the selection of toolchains may vary.

## Building Node.js on supported platforms

*Note:* All prerequisites can be easily installed by following
[this bootstrapping guide](https://github.com/nodejs/node/blob/master/tools/bootstrap/README.md).

### Unix / macOS

Prerequisites:
Expand Down
46 changes: 46 additions & 0 deletions tools/bootstrap/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Node.js Bootstrapping Guide

## Windows

A [Boxstarter][] script can be used for easy setup of Windows systems with all
the required prerequisites for Node.js development. This script will install
the following [Chocolatey] packages:
* [Git for Windows][] with the `git` and Unix tools added to the `PATH`
* [Python 2.x][]
* [Visual Studio 2017 Build Tools][] with [Visual C++ workload][]

To install Node.js prerequisites using [Boxstarter WebLauncher][], just open
[this link](http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/nodejs/node/master/tools/bootstrap/windows_boxstarter)
with Internet Explorer or Edge browser on the target machine.

Alternatively, you can use PowerShell. Run those commands from an elevated
PowerShell terminal:
```console
Set-ExecutionPolicy Unrestricted -Force
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/bootstrap/windows_boxstarter -DisableReboots
```

## Linux

For building Node.js on Linux, following packets are required (note, that this
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should packets be packages?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

can vary from distribution to distribution):
* `git-core`
* `python`
* `gcc-c++` or `g++`
* `make`

To bootstrap Node.js on Linux, run in terminal:
* OpenSUSE: `sudo zypper install git-core python gcc-c++ make`
* Fedora: `sudo dnf install git-core python gcc-c++ make`
* Ubuntu, Debian: `sudo apt-get install git-core python g++ make`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does git-core work? From the website it seems like it should be git for all three distros.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like on openSUSE git-core is more lightweight than git package. But I think I'll change this anyway.


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For macOS I'm pretty sure it's just:

xcode-select --install # Installs git, make, and clang

python2 is already installed.

[Boxstarter]: http://boxstarter.org/
[Boxstarter WebLauncher]: http://boxstarter.org/WebLauncher
[Chocolatey]: https://chocolatey.org/
[Git for Windows]: https://chocolatey.org/packages/git
[Python 2.x]: https://chocolatey.org/packages/python2
[Visual Studio 2017 Build Tools]: https://chocolatey.org/packages/visualstudio2017buildtools
[Visual C++ workload]: https://chocolatey.org/packages/visualstudio2017-workload-vctools

21 changes: 21 additions & 0 deletions tools/bootstrap/windows_boxstarter
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Boxstarter (http://boxstarter.org/) script for Node.js prerequisites
#
# To install either open this link in IE or Edge:
# http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/nodejs/node/master/tools/bootstrap/windows_boxstarter
#
# Or run those commands in an elevated Powershell terminal:
# 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/bootstrap/windows_boxstarter -DisableReboots
#
# For more detail see
# https://github.com/nodejs/node/blob/master/tools/bootstrap/README.md
#

# Git and Unix tools will be added to the PATH
choco install git -params /GitAndUnixToolsOnPath -y
choco install python2 -y

# Installs VS 2017 Build Tools
choco install visualstudio2017buildtools -y
choco install visualstudio2017-workload-vctools -y