npm的基本命令和用法

1. 安装与初始化

安装npm

首先,确保你的系统中已安装了Node.js,因为npm随Node.js一同分发。访问Node.js官网下载并安装适合你操作系统的版本。安装完成后,在终端或命令提示符中输入以下命令来验证安装:

复制代码
1$ node -v
2$ npm -v

这两个命令分别显示Node.js和npm的当前版本。如果有输出版本号,说明安装成功!🎉

初始化项目

当你开始一个新的Node.js项目时,通常第一步是使用npm init命令来创建一个package.json文件。这个文件是项目的配置文件,记录了项目的名称、版本、依赖关系等重要信息。

复制代码
1$ npm init

运行上述命令后,npm会引导你完成一系列问题的回答,最终生成package.json。如果你不想逐个回答,可以使用-y选项快速生成默认的配置文件:

复制代码
1$ npm init -y

2. 包的安装与管理

安装包

npm允许你从npm仓库安装各种JavaScript包。最常用的命令是:

复制代码
1$ npm install <package-name>

例如,安装Express框架:

复制代码
1$ npm install express

这会在项目目录下生成一个node_modules文件夹,存放所有依赖包,并在package.json中自动添加该依赖。

保存依赖
  • --save-S: 将包添加到dependencies,适用于生产环境。
  • --save-dev-D: 将包添加到devDependencies,适用于开发环境。
升级包

要升级某个包到最新版本,可以使用:

复制代码
1$ npm update <package-name>

或者更新所有包:

复制代码
1$ npm update
卸载包

移除不再需要的包:

复制代码
1$ npm uninstall <package-name>

3. 脚本执行

package.json中的scripts字段允许你定义自定义脚本命令,这对于自动化构建、测试、启动服务器等任务非常有用。

复制代码
1"scripts": {
2  "start": "node app.js",
3  "test": "jest"
4}

然后,你可以通过npm run <script-name>来执行这些脚本:

复制代码
1$ npm run start
2$ npm test

4. 版本控制

查看版本

查看本地安装的包的版本:

复制代码
1$ npm list <package-name>

或查看全局安装的包:

复制代码
1$ npm list -g <package-name>
发布包

如果你开发了自己的库或工具,并希望分享给其他人,可以通过以下步骤发布到npm仓库:

  1. 注册npm账号(如果还没有)。
  2. 在项目根目录下创建.npmrc文件配置发布源(可选)。
  3. 确保package.json文件完整且正确。
  4. 提升版本号(遵循语义化版本控制)。
  5. 执行npm login登录你的npm账号。
  6. 最后,使用npm publish命令发布包。

5. 其他常用命令

  • 查看帮助npm helpnpm help <command> 获取特定命令的帮助信息。
  • 搜索包npm search <keyword> 搜索npm仓库中的包。
  • 全局安装/卸载 :使用-g标志可以在全局范围内安装或卸载包,例如npm install -g create-react-appnpm uninstall -g create-react-app
  • 清理缓存npm cache clean --force 清理npm的缓存,解决可能的安装问题。
相关推荐
FungLeo4 小时前
成为全栈·Node 后端篇·全文搜索:从 LIKE 到全文索引
node.js·全文索引·模糊搜索·全文搜索·成为全栈·like 搜索
mldong7 小时前
你的 Vue3 项目也能有钉钉同款审批流设计器:npm 装包,10 分钟画出第一条审批流
前端·vue.js
2分钟速写快排7 小时前
什么是 RAG?如何用 RAG 实现一个用户记忆?
前端·后端·ai编程
passerby60618 小时前
如何自己造一个时间处理库
前端·javascript·github
走到天涯海角9 小时前
react里面的长列表渲染优化
前端·react.js·前端框架
小羊没烦恼!9 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
北岛贰9 小时前
迷茫焦虑期,我做了一个带支付带官网的 AI 聊天虚拟恋人 App
前端·人工智能·后端
mayaairi11 小时前
Vue2 组件通讯(三):全局事件总线、PubSub、插槽与组件实例属性
前端·javascript·vue.js
kyriewen12 小时前
面试官问我:AI 都能写代码了,前端凭什么还值 25K
前端·javascript·人工智能
风骏时光牛马12 小时前
AI源码分析:拆解模型底层实现逻辑
前端