I have a PC in my apartment. But I never use it as a development machine. Recently, I feel tired of bringing the Mac mini everyday. So I decided to set up a development environement on my PC. Here is what I've done for Node.js projects.
Network Issues
If you don't live in mainland China, you can just skip this section.
If you want to be a competent developer in mainland China, you must resolve some well-known network issues. But I just hadn't expected that these issues showed up so early.
First, find the IP address of Windows by running cat /etc/resolv.conf. You will get something like this.
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 192.168.163.65The IP address after nameserver is the host. Suppose your proxy runs at port 7890, you can set the HTTP and HTTPS proxy by following commands.
export https_proxy=http://192.168.163.65:7890
export http_proxy=http://192.168.163.65:7890And, of course, proxy for git. This step is of two parts. First, you have to tell ssh that use SSH over HTTPS for github.com by adding following content to ~/.ssh/config.
Host github.com
Hostname ssh.github.com
Port 443Second, let git use the proxy.
git config --global http.proxy http://192.168.163.65:7890Remember to set the proxy in root user because apt runs at root.
Intall Node.js and Yarn
Install Node.js by following commands in NodeSource. For example, I like to use the latest (15).
# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_15.x | sudo bash -
sudo apt-get install -y nodejsThen, install Yarn according to its docs.
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarnInstall Dependencies
Because WSL 2 is a barely naked install, i.e. without many necessary packages by default. In order to build some Gatsby dependencies, we must install some build tools first.
# For pngquant
sudo apt install libpng-devel automake libtool autoconf
# For mozjpeg
sudo apt install nasm pkg-configThen, run yarn. Everything will be okay.
Signing Commits Using GPG
Just follow steps in this gist.
I encountered this error when I signed off commits.
$ git commit -S
error: gpg failed to sign the data
fatal: failed to write commit objectAccording to this post, just run export GPG_TTY=$(tty) before using GPG.