WSL Ubuntu 安装 nodejs 和 cnpm

作者: , 共 1304 字 , 共阅读 0

Ubuntu 的 apt 源没有自带 nodejs ,需要手工添加 nodejs 的源,然后通过 apt 安装。

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs

安装后(2021 年 3 月 6 日), nodejs 是 16.1 , npm 是 7.11。

node -v
npm -v

然后在安装一下国内 npm 的镜像 cnpm ,速度要快很多:

sudo npm install cnpm -g --registry=https://registry.npm.taobao.org

如果是原始的 ubuntu ,到此安装结束。但如果在 WSL 里的 ubuntu ,会爆出来一大堆错误:

npm ERR! code EACCES
npm ERR! syscall rename
npm ERR! path /usr/lib/node_modules/.staging/npm-1c7703b5/node_modules/yargs-parser
npm ERR! dest /usr/lib/node_modules/.staging/yargs-parser-3f5f2639
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, 
rename '/usr/lib/node_modules/.staging/npm-1c7703b5/node_modules/yargs-parser' 
-> '/usr/lib/node_modules/.staging/yargs-parser-3f5f2639'  

简单看上去像是权限问题。但我们已经用了 sudo 运行,理论上不存在权限问题,比如正常的 ubuntu 下便没有任何问题。

试了wsl npm install EACCES: permission denied 错误解决方法里提到的方法,下面方法可以取消上面错误:

sudo npm config set prefix="/mnt/c/npm-global"

注意上面设置的路径必须是/mnt下挂载的实际盘符下的路径,不能是/home//opt/之类的 linux 的路径。

用了这个方法之后,cnpm可以正常安装了。但安装后输入cnpm发现系统无法识别!这时候需要将/mnt/c/npm-global/bin添加到系统环境变量 PATH :

export PATH=$PATH:/mnt/c/npm-global/bin

要想自动生效,需要将该命令放到~/.bashrc或者~/.zshrc启动脚本里。

最后使用时,需要添加一大堆依赖项,否则会爆找不到函数定义错误:

-lfolly -lgflags -lpthread -lthrift -ldouble-conversion -lglog

Q. E. D.

类似文章:
IT » WSL, win10, windows terminal
WSL 是指 windows subsystem for linux ,在 win10 被引入,为用户提供 Linux 命令行和编程环境。
IT » WSL, 网络共享
现在 windows 里面,把网络共享地址映射到盘符,比如 Y。然后执行下面命令,接下来就能通过/mnt/y/访问到网络共享文件了。
IT » ubuntu, 网络代理
下面命令设置环境变量http_proxyhttps_proxyhttp://127.0.0.1:7890,分别用于访问非加密和加密网址。目前大部分网址都是加密网址。
IT » WSL, SSH
世界上最好的 Linux 发行版 Bash on Windows 已经升级到了 Ubuntu 18.04 ,并且提供越来越多的功能。下面是笔记,记录如何启动子系统的 SSHD 服务并设置开机自动启动,也顺带开机自动启动了子系统。
IT » Python, Ubuntu
主要是update-alternatives命令的使用。
相似度: 0.081
IT » ubuntu
需修改/etc/apt/sources.list
相似度: 0.079
编程 » C++, GCC, 编译链接
C++的链接分为两部分,一个是编译时,一个是运行时。但运行时的行为也收到编译参数的影响。
相似度: 0.077
boost是除std外最常用的 C++库,覆盖很多常用操作。目前最新的版本是1.59.0
相似度: 0.066
IT » talib, 技术分析
下面的安装地址可在https://github.com/mrjbq7/ta-lib#troubleshooting上找最新的:
IT » windows terminal
当用 windows terminal 登录 SSH 服务器后:
该路线从后花园景区进入。上山穿过八十一山洞,特有意思。下山非常陡峭。因此虽然路程只有 6 公里,爬升 400 ,难度却也不低。