基本配置

不论是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
  • 换源:npm config set registry <镜像源>
  • 新的包管理器yarn:npm install -g yarn
    • 换源,似乎和npm的一样,语法也一样
  • 命令行走代理:用的应该是小写的http_proxy和https_proxy,注意变量中加上协议,否则请求出错

Windows中的Powershell能用npm,但是不能用yarn(因为不允许运行yarn.ps1),cmd倒是可以。

Get-ExecutionPolicy会发现策略是Restricted,在管理员权限下用Set-ExecutionPolicy将其改为RemoteSigned

https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4

# 管理员权限下
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.dnodesource.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

就意外装好了。

nodejs 使用记录的更多相关文章

  1. NodeJS 学习记录

    这里是我学习NodeJs的学习记录 URL:网址解析的好帮手 URL,URI 首先,URI是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源.而URL是u ...

  2. nodejs使用记录

    安装 下载64or32的安装程序,狂点下一步,无脑安装.然后检查一下: npm 使用npm -v命令检查npm是否可用 然后我们就可以使用npm了,npm语法如下: npm install <M ...

  3. NodeJs学习记录(三)vscode下启动一个nodejs的web工程

    2017/01/23 星期一 前言:根据手上现成的一个web工程来学习 1.配置vscode使其可以识别nodejs的页面文件.ejs 2.先把项目拖拽至vscode的编辑界面,在"查看&q ...

  4. NodeJs学习记录(二)win7下 配置node连接oracle的环境

    2017/01/23 星期一 前言:还没看几眼教程,就开始分配任务,涉及到连oracle数据库,所以顺便把整个环境的配置放上来 安装文件清单(1).node-v6.9.1-x64.msi(2).pyt ...

  5. NodeJs学习记录(一)初步学习,杂乱备忘

    2016/12/26 星期一 1.在win7下安装了NodeJs 1)进入官网 https://nodejs.org/en/download/,下载对应的安装包,我目前下载的是node-v6.2.0- ...

  6. nodejs学习记录

    一.环境搭建 1.安装express 局部安装 npm i express 全局安装 npm i -g express (命令行express无法使用) 环境变量 npm i -g express-g ...

  7. 【NodeJs】记录一个阿里云redis的坑

    背景 一个风和日丽的下午,一个上线的大好日子,以为一切准备好,上个线也就三五分钟的事.但是... 图样图森破. 背景是这样的,项目需要,在阿里云开通redis,在项目中配好redis的连接字符串后,以 ...

  8. NodeJs学习记录(六)使用 res.locals 传递参数到页面

    res.locals的生命周期是单次请求,有点类似于java servlet 里的  httpServletRequest.setAttribute("param1",1); 既然 ...

  9. NodeJs学习记录(五)初学阶段关于ejs和路由

    1.因为只是用了一点皮毛,所以使用起来感觉基本和jsp无异, 逻辑代码块使用  <%  if() {} else  %> , 输出参数值使用 <%=title  %>, 有一个 ...

  10. NodeJs学习记录(四)初学阶段关于app.js里的一些重要配置

    app.set('views', path.join(__dirname, 'views')); 以上代码用于配置页面文件(例如 .ejs 文件)的根目录, 设置之后 访问 ./index 则等同于访 ...

随机推荐

  1. IDEA批量实现CRLF转换成LF问题

    需要注意idea项目中右下角:选择LF,否则到时候部署到生产环境上会报错'\r\n'问题,之前的解决方案是 dos2unix 然后很多文件报这个问题,索性进行批量转换,但是很快拉去的新项目又会出现同样 ...

  2. Docker OCI runtime exec failed: exec failed: container_linux.go:344: starting container process caus

    docker执行命令:docker exec -it 1e33b26152e1 /bin/bash 在进入容器报错:OCI runtime exec failed: exec failed: cont ...

  3. git Already up-to-date解决办法,强制覆盖本地代码

    1.拉取最新云端代码强制覆盖本地代码 git fetch --all git reset --hard origin/master git pull 2.git将分支合并到主master,出现这个结果 ...

  4. Qt音视频开发47-文字和图片水印(可存储到MP4中)

    一.前言 近期花了两周时间闭门啃硬骨头,主要就解决三个问题(音视频同步存储和推流.图片水印并将水印信息存储到文件或者推流.rtsp推流),这三个问题困扰了很多年,以至于找遍了网络和翻遍ffplay代码 ...

  5. Qt开发经验小技巧246-250

    在编写类中有时候需要对变量进行赋值和取值,这时候一般用 setxxx.getxxx 之类的函数进行处理,而且往往里面就一行代码,这时候你可能会思考为何不直接将变量改成public暴露出来使用,还可以省 ...

  6. Qt音视频开发7-ffmpeg音频播放

    一.前言 之前用ffmpeg解码出来了音频,只是做了存储部分,比如存储成aac文件,播放的话早期用的是sdl来播放音频,自从Qt5以后提供了QAudioOutput来播放输入的音频数据,就更加方便了, ...

  7. 推荐 5 个 火火火火 的CMS开源.Net项目

    下面推荐5个基于.NetCore开发的CMS开源项目. 一.OrchardCore 基于ASP.NET Core 构建的.模块化和多租户应用程序框架,采用文档数据库,非常高性能,跨平台的系统. 1.跨 ...

  8. 《入梦》Revisited

      寝室里有本<美丽新世界>(Brave New World),书页翻过灯塔里上升的螺旋阶梯,还有大概三分之一的篇幅是<重返美丽新世界>(Brave New World Rev ...

  9. 微服务实战系列(八)-网关springcloud gateway自定义规则-copy

    1. 场景描述 先说明下项目中使用的网关是:springcloud gateway, 因需要给各个网关服务系统提供自定义配置路由规则,实时生效,不用重启网关(重启风险大),目前已实现:动态加载自定义路 ...

  10. nginx详细参数配置(史上最全)

    Nginx (engine x) 是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用 代理服务器 (TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人Igor Sysoev编写 ...