windows10 安装笔记

开发者参考手册

说明

上一篇文章介绍了 windows10 的安装笔记。

这里试一下使用 windows10 下 WSL 模拟 linux 安装。

准备工作

git

  [plaintext]
1
2
dh@d:~$ git --version git version 2.34.1

go

  • go
  [plaintext]
1
2
$ sudo apt-get update $ sudo apt install golang-go

验证:

  [plaintext]
1
2
$ go version go version go1.18.1 linux/amd64

node

  • node
  [plaintext]
1
$ sudo apt install nodejs

验证:

  [plaintext]
1
2
dh@d:~$ node -v v12.22.9

改为国内镜像:

  [plaintext]
1
npm config set registry=https://registry.npmmirror.com

yarn

  [plaintext]
1
2
3
4
$ npm install -g yarn $ yarn -v 1.22.21

代码下载

下载

  [plaintext]
1
$ git clone https://github.com/grafana/grafana.git

编译

  [plaintext]
1
cd grafana

前端

  [plaintext]
1
2
3
$ yarn install --immutable $ yarn start

yarn 比较慢

可以切换为国内的镜像源:

  [sh]
1
2
3
4
5
6
7
8
9
10
11
#// 查询源 yarn config get registry #// 更换国内源 yarn config set registry https://registry.npmmirror.com #// 恢复官方源 yarn config set registry https://registry.yarnpkg.com #// 删除注册表 yarn config delete registry

报错

  [plaintext]
1
2
3
grafana SyntaxError: Unexpected token '.' at wrapSafe (internal/modules/cjs/loader.js:915:16) at Module._compile (internal/modules/cjs/loader.js:963:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.l

这个主要是因为 Node 版本太低造成的。

解决方式:

卸载:

  [plaintext]
1
2
sudo apt-get remove nodejs sudo apt-get remove npm

以下是 Nodejs 18.x的安装,一行代码搞定 &&\ 的意思是前面的命令执行无误后,再执行后面代码

  [sh]
1
2
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\ sudo apt-get install -y nodejs

PS: n 的方式尝试了很多次,各种问题。

报错:

  [plaintext]
1
2
3
4
5
6
7
8
9
10
11
12
Need to get 0 B/28.9 MB of archives. After this operation, 188 MB of additional disk space will be used. Selecting previously unselected package nodejs. (Reading database ... 63291 files and directories currently installed.) Preparing to unpack .../nodejs_18.17.1-deb-1nodesource1_amd64.deb ... Unpacking nodejs (18.17.1-deb-1nodesource1) ... dpkg: error processing archive /var/cache/apt/archives/nodejs_18.17.1-deb-1nodesource1_amd64.deb (--unpack): trying to overwrite '/usr/include/node/common.gypi', which is also in package libnode-dev 12.22.9~dfsg-1ubuntu3.2 dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/nodejs_18.17.1-deb-1nodesource1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)

解决方法:

  [plaintext]
1
sudo dpkg -i --force-overwrite /var/cache/apt/archives/*.deb

这条命令的意思是使用sudo权限来强制安装/var/cache/apt/archives/目录下的所有.deb文件。 sudo是一个命令,它可以让您以超级用户(root)的身份执行其他命令。 dpkg是一个工具,它可以用来安装、卸载和管理Debian软件包(.deb文件)。 -i是一个选项,它表示安装指定的软件包。 –force-overwrite是一个选项,它表示强制覆盖已经存在的文件,即使它们属于其他软件包。 /var/cache/apt/archives/是一个目录,它存放了使用apt命令下载的软件包。 *.deb是一个通配符,它表示匹配任何以.deb结尾的文件。

安装完成后使用node -v查看 nodejs 的版本。

  [plaintext]
1
2
$ node -v v18.17.1

重新安装 yarn

  [plaintext]
1
2
3
$ yarn -v 4.0.0

后端

参考

npm install 卡主

  [plaintext]
1
2
$ npm config get registry https://registry.npmjs.org/

改为国内镜像:

  [plaintext]
1
npm config set registry=https://registry.npmmirror.com

改回来:

  [plaintext]
1
npm config set registry=https://registry.npmjs.org

npm install 报错

  [plaintext]
1
2
3
4
5
6
7
dh@d:~/github/grafana$ sudo npm install -g n npm ERR! code EBADPLATFORM npm ERR! notsup Unsupported platform for n@9.2.0: wanted {"os":"!win32"} (current: {"os":"win32"}) npm ERR! notsup Valid os: !win32 npm ERR! notsup Actual os: win32 npm ERR! A complete log of this run can be found in: C:\Users\dh\AppData\Local\npm-cache\_logs\2023-12-12T09_35_31_424Z-debug-0.log

解决方式

  [plaintext]
1
sudo npm install -g n --force

强制安装即可。

这其实主要是因为n模块不适配windows系统,所以虽然可以安装,但是还是需要相办法安装一个“linux”环境。

在运行n 命令时提示使用wsl2

n stable 报错

  [plaintext]
1
2
3
4
5
6
$ n stable installing : node-v20.10.0 mkdir : /usr/local/n/versions/node/20.10.0 mkdir: cannot create directory ‘/usr/local/n’: Permission denied Error: sudo required (or change ownership, or define N_PREFIX)

发现使用 sudo n stable 提示命令不存在。

于是手动创建对应需要的文件夹;

  [plaintext]
1
2
3
sudo mkdir /usr/local/n sudo mkdir /usr/local/n/versions sudo mkdir /usr/local/n/versions/node

真坑爹,目录一直没权限。

卸载

  [plaintext]
1
2
sudo apt-get remove nodejs sudo apt-get remove npm

重新安装

  [plaintext]
1
2
3
4
sudo apt update sudo apt install nodejs sudo apt install npm node -v

这样安装的,依然不是最新的。

安装 npm,借助 n

  [plaintext]
1
2
3
4
5
6
7
sudo apt update sudo apt install nodejs #不自带 npm 需要自行安装 sudo apt install npm # 升级 npm sudo npm install npm -g

改为国内镜像:

  [plaintext]
1
npm config set registry=https://registry.npmmirror.com

使用 n Node版本管理工具升级到 最新版

  [plaintext]
1
2
3
4
5
6
7
8
9
10
sudo npm install n -g # 下载最新稳定版 sudo n stable # 下载最新版 sudo n lastest # 查看已下载的版本 sudo n ls # 切换 Node 版本 sudo n 18.21.1

参考资料

chat

https://github.com/grafana/grafana

https://github.com/grafana/grafana/blob/main/contribute/developer-guide.md

解决Node.js项目报错SyntaxError: Unexpected token …

运行npm install卡住不动的几种解决方案

在Linux系统上更新Node.js到最新版本的3种方法