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项目的依赖和脚本任务。

相关推荐
在线打码3 小时前
Claude Code 内网离线极简部署指南
人工智能·ai·npm·node·claudecode
审判长烧鸡4 小时前
【前端】npm audit fix 修复漏洞时的具体逻辑
前端·npm
EF@蛐蛐堂1 天前
TanStack NPM攻击 揭秘及应对方案
前端·vue.js·npm·安全威胁分析
机器视觉知识推荐、就业指导1 天前
npm 安装/运行报错及解决方案
前端·npm·node.js
独泪了无痕1 天前
pnpm依赖管理:从零开始的实践手册
前端·npm·node.js
Bolt2 天前
用 pnpm 11 省掉项目里的 .nvmrc 与 .npmrc
前端·npm·node.js
XD7429716362 天前
科技早报晚报|2026年5月12日:GUI Agent、编程会话工作台与 npm 安装门禁,今晚更值得做的 3 个技术机会
前端·科技·npm·供应链安全·ai agent·开发者工具
小粉粉hhh2 天前
Node.js(四)——npm与包
前端·npm·node.js
亲亲小宝宝鸭3 天前
重新install,项目就跑不起来了?!
前端·npm
七牛开发者3 天前
不写框架、不用 npm,我用 AI Coding 做了一个家庭记忆站
前端·人工智能·npm