Skip to content

improve npm/yarn install flow and add Windows 10 instructions #4015

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

Merged
merged 10 commits into from
Aug 24, 2021
Merged
Show file tree
Hide file tree
Changes from 6 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
27 changes: 12 additions & 15 deletions docs/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
- [macOS](#macos)
- [Docker](#docker)
- [Helm](#helm)
- [Windows](#windows)
Copy link
Contributor

Choose a reason for hiding this comment

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

@BrunoQuaresma The preview for this PR seems to show the old build rather than the new one for some reason, maybe a missing env var in the build settings or something?

image

Copy link
Contributor

Choose a reason for hiding this comment

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

- [Raspberry Pi](#raspberry-pi)
- [Termux](#termux)
- [Cloud providers](#cloud-providers)
Expand Down Expand Up @@ -99,27 +100,16 @@ _exact_ same commands presented in the rest of this document.
We recommend installing with `yarn` or `npm` when:

1. You aren't using a machine with `amd64` or `arm64`.
2. You're on Linux with `glibc` < v2.17, `glibcxx` < v3.4.18 on `amd64`, `glibc`
1. You are installing code-server on Windows
1. You're on Linux with `glibc` < v2.17, `glibcxx` < v3.4.18 on `amd64`, `glibc`
< v2.23, or `glibcxx` < v3.4.21 on `arm64`.
3. You're running Alpine Linux or are using a non-glibc libc. See
1. You're running Alpine Linux or are using a non-glibc libc. See
[#1430](https://github.com/cdr/code-server/issues/1430#issuecomment-629883198)
for more information.

Installing code-server with `yarn` or `npm` builds native modules on install.
This process requires C dependencies; see our guide on [installing these
dependencies][./npm.md](./npm.md) for more information.

You must have Node.js v12 (or later) installed. See
[#1633](https://github.com/cdr/code-server/issues/1633).
Comment on lines -112 to -113
Copy link
Member Author

Choose a reason for hiding this comment

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

the npm.md page recommends node v14 and links to the same issue. Since the VS Code page mentions Node v14, I decided to remove this to be consistent


To install:

```bash
yarn global add code-server
# Or: npm install -g code-server
code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```
This process requires C dependencies; see our guide on [installing with yarn and npm][./npm.md](./npm.md) for more information.

## Standalone releases

Expand Down Expand Up @@ -236,6 +226,13 @@ alternative](https://hub.docker.com/r/linuxserver/code-server).

You can install code-server via [Helm](https://github.com/cdr/code-server/blob/main/ci/helm-chart/README.md).

## Windows

We currently do not publish Windows releases (see [#1397](https://github.com/cdr/code-server/issues/1397)). We recommend installing code-server onto Windows with [`yarn` or
`npm`](#yarn-npm).

> Note: You will also need to [build cdr/cloud-agent manually](https://github.com/cdr/cloud-agent/issues/17) if you would like to use `code-server --link` on Windows.

## Raspberry Pi

We recommend installing code-server onto Raspberry Pi with [`yarn` or
Expand Down
60 changes: 55 additions & 5 deletions docs/npm.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
- [Alpine](#alpine)
- [macOS](#macos)
- [FreeBSD](#freebsd)
- [Issues with Node.js after version upgrades](#issues-with-nodejs-after-version-upgrades)
- [Windows](#windows)
- [Installing](#installing)
- [Troubleshooting](#troubleshooting)
- [Issues with Node.js after version upgrades](#issues-with-nodejs-after-version-upgrades)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

Expand All @@ -35,6 +38,8 @@ sudo apt-get install -y \
npm config set python python3
```

Proceed to [installing](#installing)

## Fedora, CentOS, RHEL

```bash
Expand All @@ -44,27 +49,75 @@ sudo yum install -y python2
npm config set python python2
```

Proceed to [installing](#installing)

## Alpine

```bash
apk add alpine-sdk bash libstdc++ libc6-compat
npm config set python python3
```

Proceed to [installing](#installing)

## macOS

```bash
xcode-select --install
```

Proceed to [installing](#installing)

## FreeBSD

```sh
pkg install -y git python npm-node14 yarn-node14 pkgconf
pkg install -y libinotify
```

## Issues with Node.js after version upgrades
Proceed to [installing](#installing)

## Windows

Installing code-server requires all of the [prerequisites for VS Code development](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites). When installing the C++ compiler tool chain, we recommend using "Option 2: Visual Studio 2019" for best results.
Copy link
Member Author

Choose a reason for hiding this comment

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

I ran into several issues installing windows-build-tools on a fresh Windows machine.

Copy link
Contributor

Choose a reason for hiding this comment

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

This sounds kinda rough. I have some experience building stuff on Windows (actually doing Clang/LLVM + MSVC, which I think can be cross-compiled under Wine) so this might be something I can look into at some point...

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, installing Visual Studio is an unfortunate prerequisite, where npm install -g windows-build-tools would be a bit more understandable.

If you think it'd be helpful, I can do some more debugging with the npm method and see if there are any pointers I can leave in this doc, or put upstream.


Next, install code-server with:

```bash
yarn global add code-server
# Or: npm install -g code-server
code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```

A `postinstall.sh` script will attempt to run. Select your terminal (e.g git bash) as the default application for .sh files. If an additional dialog does not appear, run the install command again.

If the `code-server` command is not found, you'll need to [add a directory to your PATH](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/). To find the directory, use the following command:

```shell
yarn global bin
# Or: npm config get prefix
```

For help and additional troubleshooting, see [#1397](https://github.com/cdr/code-server/issues/1397).

## Installing

After adding the dependencies for your OS, install code-server package globally:

```bash
yarn global add code-server
# Or: npm install -g code-server
code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```

## Troubleshooting

If you need further assistance, post on our [GitHub Discussions
page](https://github.com/cdr/code-server/discussions).

### Issues with Node.js after version upgrades

Occasionally, you may run into issues with Node.js.

Expand All @@ -79,6 +132,3 @@ A step-by-step example of how you might do this is:
2. Navigate into the directory: `cd /usr/local/Cellar/code-server/<version>/libexec/lib/vscode/`
3. Recompile the native modules: `npm rebuild`
4. Restart code-server

If you need further assistance, post on our [GitHub Discussions
page](https://github.com/cdr/code-server/discussions).