npm常用命令详解

npm(Node Package Manager)是Node.js的包管理器,用于安装、更新、删除和管理Node.js模块和包。以下是npm的一些常用命令及其详细解释:

一、安装模块

  • npm install <包名>:安装指定的npm包到当前项目的node_modules目录中。
  • npm install <包名> --save-dev:将包安装到devDependencies中,通常用于开发时依赖的包,不会在生产环境中使用。
  • npm install <包名> --savenpm install <包名>(不带任何标志):将包安装到dependencies中,这些包是生产环境中需要的。

二、查看模块

  • npm list:列出当前目录下已安装的所有Node.js包及其依赖。
  • npm view <包名>:查看指定包的详细信息,包括版本、描述、依赖等。

三、更新模块

  • npm update <包名>:更新指定的npm包到最新版本。
  • npm outdated:检查所有已安装的包,查看是否有过时的版本。

四、删除模块

  • npm uninstall <包名>:删除指定的npm包。

五、初始化项目

  • npm init:在项目中引导创建一个package.json文件,该文件用于描述项目信息和依赖关系。

六、脚本运行

  • npm run-script <脚本名>:运行package.json文件中定义的脚本。
  • npm start:运行package.json中定义的start脚本,通常用于启动项目。
  • npm test:运行package.json中定义的test脚本,通常用于测试项目。

七、配置管理

  • npm config list:查看当前npm的配置信息。
  • npm config set <key> <value>:设置npm的配置项。
  • npm config set prefix <路径>:设置全局安装路径。
  • npm config set cache <路径>:设置缓存路径。
  • npm config set registry <镜像地址>:设置npm镜像源,如淘宝、腾讯云、华为云等镜像。

八、缓存管理

  • npm cache clean --force:清除npm缓存,通常用于解决某些难以复现的依赖问题。请注意,--force参数是强制清除缓存,使用时请谨慎。

九、全局安装

  • npm install -g <包名>:全局安装指定的npm包,这样在任何地方都可以使用。
  • npm list -g:查看全局已安装的npm包。

十、登录与权限

  • npm login:登录到npm仓库,通常用于发布自己的包。
  • npm logout:退出npm仓库登录。
  • npm access:用于管理包的访问权限。

十一、包管理

  • npm deprecate <包名> <消息>:为指定的包发布一个废弃警告。
  • npm dist-tag add <包名>@<版本> <标签名>:给指定的包版本添加一个发布标签。
  • npm dist-tag ls <包名>:列出指定包的所有发布标签。

十二、调试与日志

  • npm bugs <包名>:在默认的浏览器或终端中打开指定包的issue tracker页面。
  • npm docs <包名>:在默认的浏览器或终端中打开指定包的文档页面。
  • npm root:显示npm全局包的安装路径。

十三、链接本地包

  • npm link <包名>:将全局安装的包链接到当前项目中,这样可以直接在项目中使用全局安装的包,而不需要重新安装。

这些命令只是npm功能的冰山一角,实际上npm的功能非常丰富,几乎涵盖了Node.js项目开发和包管理的各个方面。为了更深入地了解npm,建议查阅npm的官方文档,那里提供了最全面和最准确的命令解释和用法说明。

相关推荐
李彦亮老师(本人)2 小时前
【Linux系统】Rocky Linux 9.7操作系统简介
linux·运维·服务器·docker·kubernetes
minji...2 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法
何中应3 小时前
Grafana如何重置密码
linux·运维·服务器·grafana
手握风云-4 小时前
基于 Java 的网页聊天室(三)
服务器·前端·数据库
开开心心_Every4 小时前
限时免费加密、隐藏、锁定文件文件夹好工具
运维·服务器·人工智能·edge·pdf·逻辑回归·深度优先
野犬寒鸦5 小时前
Redis复习记录day1
服务器·开发语言·数据库·redis·缓存
龙俊俊5 小时前
服务器模型部署与加载
服务器·人工智能·深度学习
木木em哈哈5 小时前
记一次在线编辑器的探索
linux·服务器·网络
我要成为嵌入式大佬6 小时前
正点原子MP157--问题详解--二(NFS挂载根文件系统双网卡设置)
linux·服务器·网络
一个有温度的技术博主6 小时前
网安实验系列七:域名收集
linux·运维·服务器