npm常用命令详解与实践

npm(Node Package Manager)是一个JavaScript编程语言的包管理器,它是Node.js的默认包管理工具。npm用于管理项目中的依赖关系,安装、更新和发布包。

以下是一些常用的npm命令及其详解和实践示例:

1. npm init

初始化一个新的npm项目,创建package.json文件。

npm init

这个命令会引导你完成项目信息的填写,如名称、版本、描述等。完成后,会在项目根目录下生成package.json文件。

2. npm install

安装项目依赖。

npm install <package>

如果不加--save标志,安装的包只会在node_modules目录下,不会记录在package.jsondependencies中。

npm install <package> --save

这会将包添加到dependencies中。

使用--save-dev可以安装开发时依赖:

npm install <package> --save-dev

这会将包添加到devDependencies中。

3. npm uninstall

卸载项目中的包。

npm uninstall <package>

这个命令会从node_modules目录和package.json中删除指定的包。

4. npm update

更新项目中的包。

npm update

这个命令会更新所有在package.json中列出的包到最新版本。

更新特定包:

npm update <package>

5. npm list

列出安装的包。

npm list

查看所有依赖及其版本。

查看特定包的依赖树:

npm list <package>

6. npm cache clean

清理npm缓存。

npm cache clean

这个命令会删除缓存的包,有时候可以解决安装问题。

7. npm run

运行package.json中的脚本。

npm run <script>

例如,如果你的package.json中有"start"脚本,使用npm run start来执行它。

8. npm start

启动项目。

npm start

这通常是一个自定义的脚本,用于启动应用程序。

9. npm test

运行测试。

npm test

这通常是一个自定义的脚本,用于运行项目的测试套件。

10. npm publish

发布包到npm仓库。

npm publish

这个命令会将你的包发布到npm公共仓库,使得其他人可以使用它。

实践示例:

假设你正在开发一个Node.js项目,需要安装Express框架和Mocha测试框架:

  1. 初始化npm项目:

    npm init -y # 使用默认值快速初始化

  2. 安装Express并保存到依赖中:

    npm install express --save

  3. 安装Mocha作为开发依赖:

    npm install mocha --save-dev

  4. package.json中添加测试和启动脚本:

    { "scripts": { "test": "mocha", "start": "node app.js" } }

  5. 运行测试:

    npm test

  6. 启动应用程序:

    npm start

通过这些命令,你可以高效地管理Node.js项目的依赖和脚本任务。

相关推荐
Penfy_Z2 小时前
【Python LLM 调用踩坑】Connection error 终极解决方案!npm 代理导致阿里云通义千问接口连接失败
开发语言·python·npm
终将老去的穷苦程序员9 小时前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
前端·npm·node.js
之歆1 天前
Node.js 与 NPM 包管理完全指南
前端·npm·node.js
12点一刻1 天前
npx 使用入门教程:是什么、怎么用、和 npm 有什么区别
前端·npm·node.js
cv魔法师2 天前
解决vscode终端报错npm : 无法加载文件npm.ps1,因为在此系统上禁止运行脚本。
ide·vscode·npm
夜雪闻竹4 天前
版本管理:npm 发布 + Electron 打包 + CI/CD
ci/cd·npm·node.js·代码规范·chatcrystal
zhangfeng11335 天前
workbuddy ,node.js 每次会在 项目目录上安装 node_modules,能不能一次安装多次使用,为什么 npm 不把包装在全局
前端·npm·node.js
步十人5 天前
【Vue3】前置知识简单概述(包括ES6核心语法,模块化ESM以及npm基础)
arcgis·npm·vue·es6
小虎7 天前
npm和pnpm常用命令
npm·pnpm·镜像源·缓存目录
YJlio7 天前
OpenClaw 2026.5.2 Beta 更新解读:外部插件安装、ClawHub / npm 切换与 Gateway 性能优化
性能优化·npm·gateway·飞书·多维表格·飞书aily·飞书妙搭