2020-06-03 18:07:42 +02:00
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE - RUN doctoc TO UPDATE -->
2021-08-22 20:50:49 +02:00
# npm Install Requirements
2020-05-13 05:11:31 +02:00
2021-07-07 18:00:51 +02:00
- [Node.js version ](#nodejs-version )
2021-03-09 22:47:23 +01:00
- [Ubuntu, Debian ](#ubuntu-debian )
- [Fedora, CentOS, RHEL ](#fedora-centos-rhel )
- [Alpine ](#alpine )
- [macOS ](#macos )
- [FreeBSD ](#freebsd )
2021-08-22 20:50:49 +02:00
- [Windows ](#windows )
- [Installing ](#installing )
- [Troubleshooting ](#troubleshooting )
- [Issues with Node.js after version upgrades ](#issues-with-nodejs-after-version-upgrades )
2021-08-25 00:25:04 +02:00
- [Debugging install issues with npm ](#debugging-install-issues-with-npm )
2020-06-03 18:07:42 +02:00
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
2021-07-07 18:00:51 +02:00
If you're installing code-server via `npm` , you'll need to install additional
dependencies required to build the native modules used by VS Code. This article
includes installing instructions based on your operating system.
2020-05-13 05:11:31 +02:00
2021-07-07 18:00:51 +02:00
## Node.js version
2021-03-09 19:20:14 +01:00
2021-07-07 18:00:51 +02:00
We use the same major version of Node.js shipped with VSCode's Electron,
which is currently `14.x` . VS Code also [lists Node.js
requirements](https://github.com/microsoft/vscode/wiki/How-to-Contribute#prerequisites).
2021-03-09 19:20:14 +01:00
2021-07-07 18:00:51 +02:00
Using other versions of Node.js [may lead to unexpected
behavior](https://github.com/cdr/code-server/issues/1633).
2020-05-15 03:37:58 +02:00
2020-05-13 05:11:31 +02:00
## Ubuntu, Debian
```bash
sudo apt-get install -y \
build-essential \
pkg-config \
2020-08-26 19:54:42 +02:00
python3
npm config set python python3
2020-05-13 05:11:31 +02:00
```
2021-08-22 19:36:41 +02:00
Proceed to [installing ](#installing )
2020-05-20 18:13:03 +02:00
## Fedora, CentOS, RHEL
2020-05-13 05:11:31 +02:00
```bash
sudo yum groupinstall -y 'Development Tools'
2020-06-03 17:41:13 +02:00
sudo yum config-manager --set-enabled PowerTools # unnecessary on CentOS 7
2021-03-25 17:50:58 +01:00
sudo yum install -y python2
2020-05-13 05:11:31 +02:00
npm config set python python2
```
2021-08-22 19:36:41 +02:00
Proceed to [installing ](#installing )
2020-12-18 19:08:36 +01:00
## Alpine
```bash
2021-03-25 17:50:58 +01:00
apk add alpine-sdk bash libstdc++ libc6-compat
2020-12-18 19:08:36 +01:00
npm config set python python3
```
2021-08-22 19:36:41 +02:00
Proceed to [installing ](#installing )
2020-05-13 05:11:31 +02:00
## macOS
2020-12-04 08:34:18 +01:00
2020-05-13 05:11:31 +02:00
```bash
xcode-select --install
```
2020-12-15 00:25:08 +01:00
2021-08-22 19:36:41 +02:00
Proceed to [installing ](#installing )
2020-12-15 00:25:08 +01:00
## FreeBSD
```sh
2021-06-01 19:19:03 +02:00
pkg install -y git python npm-node14 yarn-node14 pkgconf
2021-03-25 17:50:58 +01:00
pkg install -y libinotify
2020-12-15 00:25:08 +01:00
```
2021-07-07 18:00:51 +02:00
2021-08-22 19:36:41 +02:00
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.
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
```
2021-08-23 18:06:34 +02:00
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.
2021-08-22 19:36:41 +02:00
2021-08-22 19:45:09 +02:00
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:
2021-08-22 19:36:41 +02:00
```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
2021-08-23 18:06:44 +02:00
After adding the dependencies for your OS, install the code-server package globally:
2021-08-22 19:36:41 +02:00
```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
2021-07-07 18:00:51 +02:00
Occasionally, you may run into issues with Node.js.
If you install code-server using `yarn` or `npm` , and you upgrade your Node.js
version, you may need to reinstall code-server to recompile native modules.
Sometimes, you can get around this by navigating into code-server's `lib/vscode`
directory and running `npm rebuild` to recompile the modules.
A step-by-step example of how you might do this is:
1. Install code-server: `brew install code-server`
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
2021-08-25 00:25:04 +02:00
### Debugging install issues with npm
Unfortunately, `yarn` swallows all logs on `yarn global add` so instead you can install with `npm` and see the logs:
```shell
# Uninstall
npm uninstall -g --unsafe-perm code-server > /dev/null 2>& 1
# Install with logging
npm install --loglevel verbose -g --unsafe-perm code-server
```