nodejs 使用记录
基本配置
不论是ubuntu还是windows10,对于非安装版的nodejs,在下载后所做的配置:
- 设置环境变量:
NODE_ROOT
为nodejs根目录,NODE_PATH
为其中node_modules目录(npm等安装的内容在其中)- 对于ubuntu/linux:将
$NODE_ROOT/bin
加入PATH
中,NODE_PATH
为$NODE_ROOT/lib/node_modules
- 对于windows:应用程序就在根,
%NODE_ROOT%
加入PATH
即可,而NODE_PATH
为%NODE_ROOT%\node_modules
- 对于ubuntu/linux:将
- 换源:
npm config set registry <镜像源>
- 记录了几种源地址
npm config get <设置变量>
可以查看
- 新的包管理器yarn:
npm install -g yarn
- 换源,似乎和npm的一样,语法也一样
- 命令行走代理:用的应该是小写的http_proxy和https_proxy,注意变量中加上协议,否则请求出错
Windows中的Powershell能用npm,但是不能用yarn(因为不允许运行yarn.ps1),cmd倒是可以。
Get-ExecutionPolicy
会发现策略是Restricted
,在管理员权限下用Set-ExecutionPolicy
将其改为RemoteSigned
# 管理员权限下
Set-ExecutionPolicy RemoteSigned
# windows命令行设代理,方便复制
## cmd
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
## powershell
$env:http_proxy="http://127.0.0.1:7890"
$env:https_proxy="http://127.0.0.1:7890"
源
# yarn
官方:https://registry.yarnpkg.com
# npm
官方:https://registry.npmjs.org
ubuntu22 安装node16报错 [old deprecate]
情况
用的阿里云ECS,本地apt安装只能到12,所以采取网上说法
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
然后遇到报错
Unpacking nodejs (16.19.0-deb-1nodesource1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_16.19.0-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
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
操作记录
先找到这篇,按照步骤尝试发现无效;
然后找到另外一篇,应该就是用--force-overwrite
强制那个nodejs_16.19.0-deb-1nodesource1_amd64.deb
包覆写,但又看了看好像说操作挺暴力,自己这儿一直是root权限就先没试。
再按照第一篇的,先删了/etc/apt/sources.list.d
的nodesource.list
,然后sudo apt --fix-broken install
修复了一下install;就直接apt install nodejs
了,结果直接装回了node12。
估摸就是curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
这句添加了nodesource.list
,然后又和本地什么包有冲突。
想了想反正就是node12的包没删干净(apt这种包管理原理还没搞清楚),就重新尝试删除。这回是apt purge nodejs
+ apt autoremove
(网上关于删除命令有很多讲究和介绍,没看太懂,之前没用apt autoremove
),这回看命令行输出感觉删了很多东西。然后再重复之前的安装操作(不过参数加了-fs
,也不懂啥意思和之前有什么区别)
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
就意外装好了。