大家好,我是Ysh,谨以此系列文章献给正在找工作的开发兄弟们,愿大家年年高升无寒冬。
创作不易,还请兄弟们多多点赞、收藏、关注 三联走起~
npm:安装包的不同方式及其适用场景
npm(Node Package Manager)是Node.js的默认包管理工具,用于管理JavaScript项目的依赖。它允许开发者轻松地安装、更新和删除项目依赖。
基本使用
-
安装npm
如果你已经安装了Node.js,npm会自动安装。你可以通过以下命令检查npm版本:
npm -v
-
初始化项目
使用以下命令初始化一个新的Node.js项目,这将生成一个
package.json
文件:npm init
-
安装依赖
-
本地安装:默认情况下,npm会将依赖安装到
node_modules
目录,并在package.json
文件中添加相应的依赖条目。npm install lodash
你也可以使用
-S
(或--save
)来显式地将依赖保存到package.json
中:npm install lodash --save
-
全局安装:某些工具或包需要全局安装,以便在命令行中全局可用。使用
-g
(或--global
)选项来全局安装依赖。npm install -g create-react-app
-
开发依赖:使用
-D
(或--save-dev
)选项将依赖安装为开发依赖,这些依赖仅在开发环境中需要。npm install eslint --save-dev
-
-
更新和卸载依赖
-
更新依赖:
npm update lodash
-
卸载依赖:
npm uninstall lodash
-
适用场景
- npm适用于管理任何Node.js项目的依赖,无论是前端项目还是后端项目。
- 它支持本地和全局安装,以及不同的安装选项(如
--save
和--save-dev
),满足不同场景的需求。
npx:如何通过npx执行本地安装的命令
npx 是npm版本5.2.0之后引入的一个工具,它允许你直接运行npm包中的可执行文件,而无需全局安装这些包。这在一次性使用工具或避免全局污染时非常有用。
基本使用
-
运行本地安装的包
例如,运行本地安装的
create-react-app
:npx create-react-app my-app
-
运行未安装的包
如果包未安装,npx会临时下载并执行它。例如,运行
http-server
:npx http-server
-
避免版本冲突
使用特定版本的包而不影响全局安装的版本:
npx create-react-app@3.4.1 my-app
适用场景
- 当需要运行一次性工具或脚本时,npx是一个方便的选择。
- 在CI/CD管道中,npx可以确保使用特定版本的工具,而无需全局安装。
pnpm:pnpm的工作原理及其在大项目中的应用
pnpm 是一个高性能的包管理工具,它通过硬链接和符号链接来节省磁盘空间和加快安装速度。与npm和yarn不同,pnpm可以确保不同项目之间共享相同版本的依赖,从而提高效率。
安装pnpm
-
全局安装
npm install -g pnpm
-
初始化项目
使用
pnpm init
初始化一个新项目:pnpm init
基本使用
-
安装依赖
-
本地安装:
pnpm install lodash
-
全局安装:
pnpm add -g create-react-app
-
开发依赖:
pnpm add eslint --save-dev
-
-
更新和卸载依赖
-
更新依赖:
pnpm update lodash
-
卸载依赖:
pnpm remove lodash
-
工作原理
- 硬链接和符号链接:pnpm在安装依赖时会在全局存储中创建硬链接或符号链接,从而节省磁盘空间和加快安装速度。
- 严格的依赖树:pnpm确保每个包的依赖关系是严格的,避免了“依赖地狱”问题。
在大项目中的应用
- 节省磁盘空间:对于包含大量依赖的大项目,pnpm可以显著减少磁盘空间占用。
- 加快安装速度:pnpm通过共享相同版本的依赖,提高了安装速度,特别是在CI/CD管道中。