基本配置

不论是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. Git commit - Angular Convention

    使用 Git 的开发者会使用 git commit 进行代码提交,也会使用 -m 提交commit message.对于一些个人开发者,也许他们会觉得"这是我个人的项目,不用太在意git c ...

  2. Linux 虚拟机重启找不到IP解决方案

    @ 目录 前言 简介 Linux 操作系统查看不到IP地址 问题描述: 第一步 :修改配置 第二步 :查看ip 第三步 :查看网卡 第四步 :重启网络 ‌Linux 网络服务重启失败解决办法 问题描述 ...

  3. Halo博客+兰空图床搭建保姆级指南

    1. 简介 1.1 依赖的相关软件 Docker.Docker-Compose底层运行环境 Minio底层的存储支持 Mysql关系型数据库 Redis缓存中间件 NginxProxyManager( ...

  4. B站千万级长连接实时消息系统的架构设计与实践

    本文由哔哩哔哩资深开发工程师黄山成分享,原题"千万长连消息系统",本文进行了排版和内容优化等. 1.引言 在当今数字娱乐时代,弹幕已经成为直播平台上不可或缺的互动元素之一. 用户通 ...

  5. 【Java 温故而知新系列】基础知识-01 概述

    1.什么是Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承. 指针等概念,因此Java语言具有功能强大和简单易 用两个特征.Java语言作为 ...

  6. 【源码】ByteToMessageDecoder对比自定义实现

    前言 在上一篇随笔中,我们探讨了如何实现一套自定义通信协议,其中涉及到的粘包和拆包处理最初是完全自定义实现的,后来则改为了继承 ByteToMessageDecoder 来简化处理. 本篇将重点讨论这 ...

  7. c# 无法捕获 System.NullReferenceException?

    ..在VS debug 模式下会"无法捕获" System.NullReferenceException......但是在release 或者外部运行是能捕获的. test cod ...

  8. Android性能测试(内存、cpu、fps、流量、GPU、电量)——adb篇

    adb 常用命令 获取连接设备号:adb devices     列出设备所有已安装的包名 (不需root权限) adb shell "pm list packages",可以加上 ...

  9. MongoDB 常用指令(详细)

    # MongoDB 常用指令## 基础命令### 启动与连接```bash# 启动 MongoDB 服务mongod# 连接 MongoDB 客户端mongo```### 数据库操作```bash# ...

  10. 注册全局组件(H5) 任意页面使用

    在view下创建components文件夹. 在components下创建文件夹base. base文件夹是用来存放 基础组件的. 比如说页面中很多处都在使用的公共组件 如你需要自定义的按钮 在com ...