当前位置:网站首页>npm命令--安装依赖包--用法/详解
npm命令--安装依赖包--用法/详解
2022-07-06 04:16:00 【IT利刃出鞘】
原文网址:npm命令--安装依赖包--用法/详解_IT利刃出鞘的博客-CSDN博客
简介
本文介绍npm如何安装依赖包。
用法
命令 | 作用 | 详述 |
npm install <pkg> //同义词:i, isntall, add | 安装pkg包 | 先下载pkg,然后下载pkg的packages.json里的dependencies、devDependencies等的依赖项。 如果执行命令时所在的路径里有packages.json,则将此依赖加入到其dependencies。 |
npm install pkg1 pkg2 | 安装多个包 | |
npm install git://github.com/package/path.git | 从git下载安装 | |
npm install [email protected] | 指定版本号 | 默认安装最新版本,如果要安装模块的特定版本,可以在模块名后面加上 @ 和版本号。 |
参数
参数 | 说明 | 详述 |
-f/--force | 强制安装。 不管是否安装过都重新安装。 | 安装前,npm install 会先检查node_modules目录之中是否已经存在指定模块。如果存在,就不再重新安装了,即使远程仓库已经有了一个新版本,也是如此。 |
-g/--global | 全局安装 | 详见下方:“本地安装/全局安装” |
-P/--save-prod -S/--save(老版本) | 模块名添加到生产阶段依赖: dependencies | 模块名添加到packages.json 文件的dependencies项。 如果执行命令时所在的路径里有packages.json,不指定此参数也会将此依赖加入到其dependencies。 |
-D/--save-dev | 模块名添加到开发阶段依赖:devDependencies | 模块名添加到packages.json 文件的devDependencies项。 |
-O|--save-optional | 模块名添加到 optionalDependencies | 模块名添加到packages.json 文件的optionalDependencies项。 //目前不知道这个的作用 |
-E/--save-exact | 精确安装指定版本的模块 | 用此选项后dependencies字段里每个模块版本号前面的^不见了。 |
--dry-run | 只运行命令,并不实际安装 |
本地安装/全局安装
如果你希望具备本地安装和全局安装功能,则需要在两个地方安装它或使用 npm link。
本地安装
命令
npm install <Module Name>
详解
- 会将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
- 可以通过 require() 来引入本地安装的包。
全局安装
命令
npm install <package> -g
详解
- 默认放到用户目录下。可以通过npm get prefix查看安装位置
默认位置linux: /usr/local windows: C:\Users\xxx\AppData\Roaming\npm - 可以直接在命令行里使用。
全局安装时安装到指定位置的方法
法1:修改配置
创建node_cache与node_global文件夹,然后设置 全局安装位置
npm set cache D:\ST\nodejs\node_cache
npm set prefix D:\ST\nodejs\node_global
法2:安装时指定位置
npm install --prefix ./install/here <package>
边栏推荐
- Recommendation system (IX) PNN model (product based neural networks)
- [FPGA tutorial case 12] design and implementation of complex multiplier based on vivado core
- 颠覆你的认知?get和post请求的本质
- MLAPI系列 - 04 - 网络变量和网络序列化【网络同步】
- 2328. Number of incremental paths in the grid graph (memory search)
- Record the pit of NETCORE's memory surge
- When debugging after pycharm remote server is connected, trying to add breakpoint to file that does not exist: /data appears_ sda/d:/segmentation
- Figure application details
- [face recognition series] | realize automatic makeup
- 查询mysql数据库中各表记录数大小
猜你喜欢
How to solve the problem of slow downloading from foreign NPM official servers—— Teach you two ways to switch to Taobao NPM image server
满足多元需求:捷码打造3大一站式开发套餐,助力高效开发
Lombok principle and the pit of ⽤ @data and @builder at the same time
Solution to the problem that the root account of MySQL database cannot be logged in remotely
Stack and queue
食品行业仓储条码管理系统解决方案
Interface idempotency
Execution order of scripts bound to game objects
10个 Istio 流量管理 最常用的例子,你知道几个?
Lora gateway Ethernet transmission
随机推荐
In depth MySQL transactions, stored procedures and triggers
关于进程、线程、协程、同步、异步、阻塞、非阻塞、并发、并行、串行的理解
CertBot 更新证书失败解决
Comprehensive ability evaluation system
[FPGA tutorial case 11] design and implementation of divider based on vivado core
Stable Huawei micro certification, stable Huawei cloud database service practice
2/11 matrix fast power +dp+ bisection
电脑钉钉怎么调整声音
P2102 floor tile laying (DFS & greed)
BOM - location, history, pop-up box, timing
lora网关以太网传输
Leetcode32 longest valid bracket (dynamic programming difficult problem)
Record an excel xxE vulnerability
P2648 make money
综合能力测评系统
asp. Core is compatible with both JWT authentication and cookies authentication
2/12 didn't learn anything
2328. Number of incremental paths in the grid graph (memory search)
Python book learning notes - Chapter 09 section 01 create and use classes
Detailed explanation of serialization and deserialization