网站首页 > 基础教程 正文
混迹IT多年的资深后端开发者及项目管理者,欢迎学术沟通,其他合作
关键字:Node、npm、yarn、pnpm、cnpm
目录
背景
一、概念
1、Node.js 是什么?
2、npm 是什么?
3、yarn 是什么?
4、pnpm是什么?
5、cnpm是什么?
二、安装 node.js
1、下载
2、安装
3、验证
4、设置
4.1 设置文件存放路径
4.2 设置镜像地址
三、安装模块及常用命令
npm
yarn
pnpm
cnpm
背景
作为一个后端开发者,服务接口的搭建对我来说是家常便饭。我可以轻松安装数百个接口。但是在进行接口测试和交互时,我总是依赖于ApiPost这个工具。它提供了可视化和交互功能,使得接口测试变得非常简单。
想安排Vue前端页面。
一、概念
1、Node.js 是什么?
Node.js是一个基于Chrome V8引擎的JavaScript运行环境。它允许开发者使用JavaScript编写服务器端代码,以及构建高性能、可扩展的网络应用程序。与传统的JavaScript运行环境不同,Node.js采用了事件驱动、非阻塞I/O模型,使得它能够处理大量并发连接,并具有出色的性能表现。Node.js为JavaScript提供了一个全新的运行环境,使得开发者能够在服务器端使用JavaScript编写高效、可靠的应用程序。
官方网址:https://nodejs.cn/
2、npm 是什么?
npm是(Node Package Manager)的缩写,是一个用于管理和分享Node.js模块的包管理工具。用于Node插件管理(包括安装、卸载、管理依赖等),它是Node.js的默认包管理器,也是世界上最大的开源软件注册表之一。
npm 受到全球超过 1100 万开发人员的信赖,致力于让 JavaScript 开发变得优雅、高效和安全。免费的 npm Registry 已成为 JavaScript 代码共享的中心,拥有超过一百万个软件包,是世界上最大的软件注册表。
官方网址:https://www.npmjs.com/
3、yarn是什么?
yarn是快速、可靠、安全的包依赖管理工具。是与npm功能一致的工具。只是npm是安装node时自带的,而yarn是须要额外安装的。
yarn的出世是由于npm有很多毛病,而facebook公司的程序员们鉴于这些毛病开发了yarn来取代npm。
yarn 会缓存它下载的每个包,因此它永远不需要再次下载它。它还 并行化操作以最大限度地提高资源利用率,因此安装时间 比以往任何时候都快。
官方网址:https://classic.yarnpkg.com/en/
4、pnpm是什么?
pnpm是快速的,节省磁盘空间的包管理工具。通过pnpm的简介我们可以看出来它实际上就是一个包管理工具,作用是跟npm和yarn一样的呢。那既然功能是一样的为什么又要出现一个pnpm呢?通过官方的文档我们可以看出来它的优势在于:包安装速度极快;磁盘空间利用效率高;
官方网址:https://pnpm.io/
5、cnpm是什么?
cnpm,因为 npm 安装插件是从国外服务器下载,受网络的影响比较大,可能会出现异常。所以淘宝团队创造了个 cnpm 。
官方网址:https://npmmirror.com/
二、安装 node.js
1、下载
下载 | Node.js 中文网nodejs.cn/download/
2、安装
下载压缩文件:node-v18.17.1-win-x64.zip,将压缩包文件夹解压至磁盘任意位置。然后在目录下创建两个文件夹,分别是 node_global 和 node_cache,用于将 npm 安装的模块放置到全局统一的目录位置。
cd D:\MyTools\Develop\node\node-v18.17.1
mkdir node_global
mkdir node_cache
安装后的文件夹内容如下。
3、配置系统环境变量
新建环境变量:
变量名:NODEJS_HOME
变量值:D:\MyTools\Develop\node\node-v18.17.1
(变量值对应自己的 nodejs 目录)
然后编辑环境变量 Path:
追加变量值:%NODEJS_HOME%\;%NODEJS_HOME%\node_global;
4、验证
这样就可以在命令行操作了。
win+R , 输入cmd ,打开命令行工具,输入 node -v 和 npm -v 查看环境变量是否配置正确,正确的话应该提示对应的版本号。
然后依次输入如下命令,npm 模块包全局安装位置和缓存位置以及资源库镜像(淘宝的镜像下载包比较快)。
npm config set prefix D:\MyTools\Develop\node\node-v18.17.1\node_global
npm config set cache D:\MyTools\Develop\node\node-v18.17.1\node_cache
npm config set registry https://registry.npm.taobao.org
4、设置
4.1 设置文件存放路径
- 在Node.js安装盘的目录下,创建两个文件夹(node_cache、node_global文件夹如何已创建,可忽略文件夹创建步骤),一个是缓存文件夹,一个是下载文件文件夹
- 查看一下原来的设置
- 设置成新的路径
npm config set cache="D:\MyTools\Develop\node\node-v18.17.1\node_cache"
npm config set prefix="D:\MyTools\Develop\node\node-v18.17.1\node_global"
= 等号左右不能有空格!!!
4.2 设置镜像地址
npm 默认的 registry 是国外镜像地址。切换成国内镜像,可选用 阿里
npm config set registry https://registry.npm.taobao.org
三、安装模块及常用命令
npm
npm简介
npm简介:npm不需要单独安装,安装node的时候就已经安装了,node可能不是最新版本,执行npm install npm@latest -g,全局更新到最新版本,用npm安装npm自己。
npm常用命令
- 更新npm最新版本
npm install npm@latest -g
- 查看npm命令列表
npm help
- 查看各个命令的简单用法
npm -l
- 查看npm版本
npm -v
- 查看npm的配置
npm config list- l
- 初始化生成package.json文件,可以自定义设置,也可以使用默认值安装,-ye后缀直接跳过提问环节,默认安装
npm init
npm init -y
- 设置环境变量,为npm init 设置默认值
npm set init-author-name 'you name'
npm set init-author-email 'your email'
npm set init-author-url 'your url'
npm set init-license 'MIT'
- 搜索npm仓库,可以跟字符串,也可以跟正则表达式
npm search <搜索词>
- 列出安装的依赖包列表
npm list
- 安装命令,比较常用,node_modules目录如果已经存在(老版本也是如此),那么就不在安装
npm install <package_name>
npm isntall <git url>
- 安装最新版本
npm install <package_name>@latest
- 安装指定版本
npm install <package_name>@0.1.1
- 安装写到dependencies,-s是简写
npm install <package_name> --save
npm install <package_name> --s
- 安装写到devDependencies,-D是简写
npm install <package_name> --save-dev
npm install <package_name> --D
- 安装beta版本
npm install <module-name>@beta
- npm更新
npm update <package_name>
- npm 卸载
npm uninstall <package_name>
- npm执行脚本,package.json文件有个scripts字段,可以定义脚本命令(lint,build),npm直接执行
npm run lint
npm run build
- npm run 执行script下面所有的命令
npm run
- dev 脚本,开发阶段要做的处理.dev是自定义命令
npm run dev
- serve,脚本用于启动服务,serve是自定义命令
npm run serve
yarn
yarn安装
npm install yarn -g
查看yarn配置
什么是 yarn ?
Yarn:Yet Another Resource Negotiator,是一个快速、可靠、安全的依赖管理工具,一款新的JavaScript包管理工具。
Yarn工作流:
Yarn使用方法:https://yarn.bootcss.com/docs/usage/
Yarn使用方法
yarn设置
- 查看配置yarn config list
# 查看配置
C:\Users\86181>yarn config list
yarn config v1.22.19
info yarn config
{
'version-tag-prefix': 'v',
'version-git-tag': true,
'version-commit-hooks': true,
'version-git-sign': false,
'version-git-message': 'v%s',
'init-version': '1.0.0',
'init-license': 'MIT',
'save-prefix': '^',
'bin-links': true,
'ignore-scripts': false,
'ignore-optional': false,
registry: 'https://registry.npm.taobao.org/',
'strict-ssl': true,
'user-agent': 'yarn/1.22.19 npm/? node/v18.17.1 win32 x64',
'cache-folder': 'D:\\MyTools\\Develop\\node\\node-v18.17.1\\Yarn\\yarn_cache',
'global-folder': 'D:\\MyTools\\Develop\\node\\node-v18.17.1\\Yarn\\yarn_global',
lastUpdateCheck: 1693898986390
}
info npm config
{
prefix: 'D:\\MyTools\\Develop\\node\\node-v18.17.1\\node_global',
cache: 'D:\\MyTools\\Develop\\node\\node-v18.17.1\\node_cache',
registry: 'https://registry.npm.taobao.org',
phantomjs_cdnurl: 'https://npmmirror.com/dist/phantomjs',
chromedriver_cdnurl: 'https://npmmirror.com/mirrors/chromedriver',
sass_binary_site: 'https://npmmirror.com/mirrors/node-sass',
ELECTRON_MIRROR: 'https://npmmirror.com/mirrors/electron/',
NVM_NODEJS_ORG_MIRROR: 'https://npmmirror.com/mirrors/node',
CHROMEDRIVER_CDNURL: 'https://npmmirror.com/mirrors/chromedriver',
OPERADRIVER: 'https://npmmirror.com/mirrors/operadriver',
ELECTRON_BUILDER_BINARIES_MIRROR: 'https://npmmirror.com/mirrors/electron-builder-binaries/',
PYTHON_MIRROR: 'https://npmmirror.com/mirrors/python',
home: 'https://npmmirror.com'
}
Done in 0.05s.
- 更改全局目录和缓存目录
yarn config set global-folder "D:\MyTools\Develop\node\node-v18.17.1\Yarn\yarn_global"
yarn config set cache-folder "D:\MyTools\Develop\node\node-v18.17.1\Yarn\\yarn_cache"
- 更改仓库地址为淘宝
yarn config set registry "https://registry.npm.taobao.org/"
yarn 常用命令
- 初始化一个新项目
yarn init
- 添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
- 将依赖项添加到不同依赖项类别中
分别添加到 devDependencies、peerDependencies 和 optionalDependencies 类别中:
yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional
- 升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
- 移除依赖包
yarn remove [package]
- 安装项目的全部依赖
yarn
或者
yarn install
pnpm
pnpm安装
npm install pnpm -g
pnpm -v
# 升级版本
pnpm add -g pnpm to update
pnpm设置
- 查看配置pnpm config list
C:\Users\86181>pnpm config list
CHROMEDRIVER_CDNURL=https://npmmirror.com/mirrors/chromedriver
ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
OPERADRIVER=https://npmmirror.com/mirrors/operadriver
PYTHON_MIRROR=https://npmmirror.com/mirrors/python
cache=D:\MyTools\Develop\node\node-v18.17.1\node_cache
chromedriver_cdnurl=https://npmmirror.com/mirrors/chromedriver
home=https://npmmirror.com
phantomjs_cdnurl=https://npmmirror.com/dist/phantomjs
prefix=D:\MyTools\Develop\node\node-v18.17.1\node_global
registry=https://registry.npm.taobao.org
sass_binary_site=https://npmmirror.com/mirrors/node-sass
user-agent=pnpm/8.7.1 npm/? node/v18.17.1 win32 x64
- 更改仓库地址为淘宝
pnpm config set registry "https://registry.npm.taobao.org/"
- 查看仓库地址配置
pnpm config get registry
pnpm常用命令
- 添加依赖包
pnpm add [package]
pnpm add [package]@[version]
pnpm add [package]@[tag]
- 安装全局依赖包
pnpm add [package] -g
pnpm add [package] --global
- 将依赖项添加到不同依赖项类别中
分别添加到 dependencies、devDependencies 和 optionalDependencies 类别中:
pnpm add [package] -S
pnpm add [package] -D
pnpm add [package] -O
- 升级依赖包
pnpm upgrade [package]
pnpm upgrade [package]@[version]
pnpm upgrade [package]@[tag]
- 升级全局依赖包
pnpm upgrade [package] -g
pnpm upgrade [package] --global
- 移除依赖包
pnpm remove [package]
- 移除全局依赖包
pnpm remove [package] -g
pnpm remove [package] --global
- 安装项目的全部依赖
pnpm
或者
pnpm install
- 将npm或yarn项目改为pnpm项目
1、修改npm或者yarn的lock文件为pnpm的pnpm-lock.yaml
2、pnpm import
3、删除node_modules
4、安装依赖pnpm install
5、最后用pnpm ls查看是否报错,没报错而是出现依赖名称那就没问题了。 - 清除pnpm缓存
删除node_modules文件夹和pnpm-lock.yaml文件,然后重新安装依赖项。
使用pnpm store prune命令清除缓存,然后重新安装依赖项。
cnpm
站点介绍
这是一个完整 npmjs.com 镜像,你可以用此代替官方版本(只读),我们将尽量与官方服务实时同步。
我们的前后端应用代码均已开源,前端应用为 cnpmweb,服务端应用为 cnpmcore 欢迎共建。
目前我们已累积同步了 3,468,101 个包,近7日下载量为 567,888,444。
- 最近更新的包为@droppack/cli
- 最近同步的时间为2023-09-07T04:49:18.808Z
使用说明
你可以使用我们定制的cnpm命令行工具代替默认的 npm。
cnpm 支持除了写相关操作外的所有命令,例如 install、info、view 等。
$ npm install -g cnpm --registry=https://registry.npmmirror.com
或者你直接通过添加 npm 参数 alias 一个新命令:
alias cnpm="npm --registry=https://registry.npmmirror.com \ --cache=$HOME/.npm/.cache/cnpm \ --disturl=https://npmmirror.com/mirrors/node \ --userconfig=$HOME/.cnpmrc"
当然,你也可以使用任意你心仪的命令行工具,只要配置 registry 即可
$ npm config set registry https://registry.npmmirror.com
安装模块
$ cnpm install [name]
同步模块
$ cnpm sync cnpmcore
当然, 你可以直接通过 web 方式来同步, 界面打开时会自动比对版本信息
$ open https://npmmirror.com/sync/cnpmcore
- registry 站点
- web 站点
- 二进制文件镜像
参考:
[1]. Nodejs安装教程
[2]. nodejs是用来做什么的
[3]. Yarn 中文文档
[4]. npm 中文文档 | npm 中文网
[4]. pnpm中文文档
猜你喜欢
- 2024-10-12 Serverless Web Function 实践教程(一):快速部署 Node.js Web 服务
- 2024-10-12 nodejs入门教程之Promise(十) nodejs实战教程
- 2024-10-12 node.js入门教程(一)发送邮件 nodejs发送文件到客户端
- 2024-10-12 JavaScript教程:之安装Node.js和npm
- 2024-10-12 Node-RED教程 – 43 – 日期多种格式化显示
- 2024-10-12 宝塔面板安装NodeJS程序并配置https教程
- 2024-10-12 nodejs入门教程之同步与异步(八) nodejs入门基础教程
- 2024-10-12 Node-RED教程 – 50 – 动态改变显示内容的角度
- 2024-10-12 Node-RED教程 – 07 – 通过网址url链接读写modbus从站
- 2024-10-12 Python网络爬虫实战教学 【ep18】某帧:安装nodejs#python
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)