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的官方文档,那里提供了最全面和最准确的命令解释和用法说明。

相关推荐
vortex53 分钟前
Linux Shell 中的 dash 符号 “-”
linux·运维·服务器
月堂7 分钟前
Linux操作系统-性能优化
linux·运维·服务器
程序猿小D33 分钟前
第24节 Node.js 连接 MongoDB
数据库·mongodb·npm·node.js·编辑器·vim·express
鹏说大数据1 小时前
使用Conda管理服务器多版本Python环境的完整指南
服务器·python·conda
fictionist1 小时前
动态 Web 开发技术入门篇
java·服务器·开发语言·笔记·学习·mysql·spring
无知好快_Sosoo浪浪1 小时前
Node.js版本管理
node.js
玩转4G物联网2 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与HTTP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
倔强的石头1063 小时前
【Linux指南】文件系统基础操作与路径管理
linux·运维·服务器
枫叶kx4 小时前
发布一个angular的npm包(包含多个模块)
前端·npm·angular.js
不想说话的麋鹿4 小时前
《NestJS 实战:RBAC 系统管理模块开发 (三)》:角色权限分配与数据一致性
前端·后端·node.js