跳至主要內容

Nodejs

大约 6 分钟

Nodejs


安装

:ative Windows

Windows 下直接下载可执行文件安装即可


nvm

coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go. --- coreybutler/nvm-windows:Windows 的 node.js 版本管理实用程序。具有讽刺意味的是用 Go 编写的。 (github.com)open in new window

NVM(Node Version Manager) 用于在同一台计算机上安装和管理多个 Node.js 版本

coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go. --- coreybutler/nvm-windows:Windows 的 node.js 版本管理实用程序。具有讽刺意味的是用 Go 编写的。 (github.com)open in new window 下载可执行程序进行安装即可

请务必使用 管理员模式 启动安装程序, 否则可能导致符号链接建立出问题而且不会报错, 直到后面使用 nvm use 命令启用对应版本 node 时会报错找不到 node

安装完成后打开命令行输入 nvm version 可以看到 nvm 版本号

image-20230507141230949

使用 nvm 安装下 node v16.16.0

nvm install 16.16.0

image-20230507141515448

使用 nvm list 可以看到当前在 nvm 管理下的 node 版本:

image-20230507142108544

使用 node v16.16.0

nvm use 16.16.0

按理来说此时 node -v 会显示 16.16.0, 但是我显示 node 不可用

原因可能是因为安装 nvm 时没有用管理员模式启动安装程序导致符号链接建立上有问题? 总之使用管理员模式重新安装 nvm 解决了此问题

image-20230507144939140


安装 nvm

安装完成后可以在 powershell/bash 中使用 nvm version 确认是否安装成功

image-20240119021632102


使用 nvm

列出所有支持的 node 版本:

nvm ls-remote

这样会列出一堆版本列表:

image-20240412143957753

可以选择只看 LTS 版本的

nvm ls-remote --lts

image-20240412144159815

或者查看指定大版本中的小版本支持列表, 例如:

nvm ls-remote 20

image-20240412144308087


安装特定版本的 nodejs, 例如

nvm install 14.17.3

timeout的话可以走下代理

例如 powershell 设置代理

$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"

image-20240119022016369

设置默认的 nodejs 版本:

nvm use 14.17.3

查看当前 nvm 管理的 nodejs 版本:

nvm list

image-20240119022109568


换源


源地址

  • 华为源: https://repo.huaweicloud.com/repository/npm/

    没有 Azure 相关服务

  • 官方源: https://registry.npmjs.org/

  • 淘宝源: http://registry.npmmirror.com

  • cnpmjs: http://r.cnpmjs.org/


临时替换

  • 执行 npm 命令时指定 registry 参数即可

    npm --registry http://registry.npmmirror.com install express
    

持久使用

npm config set registry http://registry.npmmirror.com
  • 查看更改是否生效

    npm config get registry
    

包管理工具

pnpm/pnpm: Fast, disk space efficient package manager -- 快速的,节省磁盘空间的包管理工具 (github.com)open in new window

Fast, disk space efficient package manager | pnpmopen in new window

都2022年了,pnpm快到碗里来! - 掘金 (juejin.cn)open in new window

image-20211116141412200

image-20211116141430125

img


npm, cnpm, pnpm, yarn 常用操作

npm、yarn、cnpm、pnpm 使用操作都在这了 - 掘金 (juejin.cn)open in new window

cnpm、pnpm 用法类似npm,yarn不一样地方列出来单独说明

npmcnpmpnpmyarnTips
全局安装// 检查是否安装成功
npm -v
npm install -g cnpmnpm install -g pnpmnpm install -g yarn
初始化一个项目npm inityarn init通过 -i 可以快速生成
package.json 默认配置
安装项目依赖npm install [package]yarn add [package]// 简写
npm i [package]
// 安装指定版本
npm i[package]@[version]
npm i [package]@[tag]
yarn add [package]@[version]
yarn add [package]@[tag]
// 全局安装依赖
npm i -g [package]
yarn global add [package]
  • 安装报错处理

    • 删除 node_modules` 目录然后重新安装
  • --no-save: 查看 package.json,文件内容不发生改变,在运行项目时能正常运行,当 npm i 时候,不会安装该依赖,提示安装该依赖。

  • --save: 查看 package.json 会有一个 dependencies 对象,里面就是项目运行需要的依赖。 dependencies 代表项目运行所依赖的模块, 简写 -S

  • --save-dev: 查看 package.json 会有一个 devDependencies 对象,里面就是项目开发时候需要的依赖。 devDependencies 代表项目开发所需要的模块, 简写 -D;

  • 查看当前 less 的版本号

    npm list less
    
  • 查看依赖库最新版本及历史版本

    npm view <packagename> versions --json 
    

yarn

ubuntu 安装 yarn

如何在 Ubuntu 20.04 上安装 Yarn - 知乎 (zhihu.com)open in new window

导入软件源的 GPG key 并且添加 Yarn APT 软件源到你的系统

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

image-20220824153452665

sudo apt update
sudo apt install yarn

如果出现 timeout 就多试几次


pnpm

换源

# 换淘宝源
pnpm config set registry https://registry.npmmirror.com
# 查看当前源
pnpm config get registry

默认源:

https://registry.npmjs.org/

代理

.npmrc | pnpmopen in new window

在项目根目录下创建 .npmrc 文件, 写入代理配置, 比如:

proxy=http://127.0.0.1:7890
https-proxy=http://127.0.0.1:7890

然后正常装包即可


报错收集

ERROR  Unable to find the global bin directory

image-20220924162350442

运行完 pnpm setup 之后仍出现此报错, 在于环境变量未加载, 可运行如下命令加载 pnpm 环境变量

source ~/.zshrc

image-20220924162518886


node.js - Error: EBUSY: resource busy or locked, rmdir - Stack Overflowopen in new window


image-20221118231631624

npm cache verify

报错收集

安装git仓库相关包时连不上github

image-20240119023656548

# 指定 Git 在获取远程仓库时使用 HTTPS 协议而不是 Git 协议(git://) 
git config --global url."https://".insteadOf git://
# 结束后记得取消掉配置
git config --global --unset url."https://".insteadOf
# 验证一下
git config --global --get url."https://".insteadOf

image-20240119030200661

image-20240119030209175

image-20240119030218994

image-20240119030151299