From a346c6d565e77a83b6a874802b0163ee57e1e4dd Mon Sep 17 00:00:00 2001 From: Anmol Sethi Date: Tue, 12 May 2020 23:11:31 -0400 Subject: [PATCH] Document npm module install dependencies --- README.md | 5 ++++- doc/CONTRIBUTING.md | 24 ++++++++++++++++++++---- doc/npm.md | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 doc/npm.md diff --git a/README.md b/README.md index a0f5e6b1..d99076a7 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,16 @@ sudo systemctl enable --now code-server ```bash curl -sSOL https://github.com/cdr/code-server/releases/download/3.3.0/code-server-3.3.0-amd64.rpm -sudo dnf install code-server-3.3.0-amd64.rpm +sudo yum install -y code-server-3.3.0-amd64.rpm sudo systemctl enable --now code-server # Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml ``` ### npm +**note:** Installing via `npm` requires building native module dependencies. See [./doc/npm.md](./doc/npm.md) +for the dependency install process depending on your OS. + ```bash npm install -g code-server code-server diff --git a/doc/CONTRIBUTING.md b/doc/CONTRIBUTING.md index 37be0f7d..def3df0f 100644 --- a/doc/CONTRIBUTING.md +++ b/doc/CONTRIBUTING.md @@ -3,9 +3,16 @@ - [Detailed CI and build process docs](../ci) - [Our VS Code Web docs](../src/node/app) -## Development Workflow +## Requirements -- [VS Code prerequisites](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites) +Please refer to [VS Code's prerequisites](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites). + +Differences: + +- We are not constrained by node version +- We use [fnpm](https://github.com/goreleaser/nfpm) to build .deb and .rpm packages + +## Development Workflow ```shell yarn @@ -33,8 +40,6 @@ works internally. ## Build -- [VS Code prerequisites](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites) - ```shell yarn yarn vscode @@ -45,3 +50,14 @@ cd release yarn --production node . # Run the built JavaScript with Node. ``` + +Now you can make it static and build packages with: + +``` +yarn release:static +yarn test:static-release +yarn package +``` + +The static release will be in `./release-static` and the release packages +(.deb, .rpm, self contained release) in `./release-packages`. diff --git a/doc/npm.md b/doc/npm.md new file mode 100644 index 00000000..84712f61 --- /dev/null +++ b/doc/npm.md @@ -0,0 +1,32 @@ +# npm Install Requirements + +If you're installing the npm module you'll need certain dependencies to build +the native modules used by VS Code. + +## Ubuntu, Debian + +```bash +sudo apt-get install -y \ + build-essential \ + pkg-config \ + libx11-dev \ + libxkbfile-dev \ + libsecret-1-dev +``` + +## Fedora, Red Hat, SUSE + +```bash +sudo yum groupinstall -y 'Development Tools' +sudo yum config-manager --set-enabled PowerTools +sudo yum install -y python2 libsecret-devel libX11-devel libxkbfile-devel +npm config set python python2 +``` + +## macOS + +Install [Xcode](https://developer.apple.com/xcode/downloads/) and run: + +```bash +xcode-select --install +```