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 help 或 npm help <command> 获取特定命令的帮助信息。
  • 搜索包npm search <keyword> 搜索npm仓库中的包。
  • 全局安装/卸载:使用-g标志可以在全局范围内安装或卸载包,例如npm install -g create-react-app 或 npm uninstall -g create-react-app
  • 清理缓存npm cache clean --force 清理npm的缓存,解决可能的安装问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/17173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[STM32-HAL库]ADC采集-DMA中断采集-平均值滤波-STM32CUBEMX开发-HAL库开发系列-主控STM32F103C8T6

目录 一、前言 二、实现步骤 1.STM32CUBEMX配置 2.Keil工程程序设计 三、结语 一、前言 本文通过STM32CUBEMX实现对ADC的数据采集和滤波操作&#xff0c;帮助各位开发者完成与模拟量输入的采集工作。 二、实现步骤 1.STM32CUBEMX配置 以STM32F103C8T6为例&#xff0c;打开S…

3D 生成重建015-nerf2mesh从神经辐射场中提取mesh和纹理!

3D 生成重建015-nerf2mesh从神经辐射场中提取mesh和纹理&#xff01; 文章目录 0 论文工作1 论文方法2 效果 0 论文工作 NeRF2Mesh 提出了一种从多视角 RGB 图像重建纹理表面网格的新方法。它克服了传统 NeRF 模型的局限性&#xff0c;由于其隐式表示&#xff0c;传统 NeRF 模…

高斯分步正态分布

高斯分布&#xff0c;也称为正态分布&#xff08;Normal Distribution&#xff09;&#xff0c;是统计学和概率论中最重要的分布之一。它由德国数学家卡尔弗里德里希高斯&#xff08;Carl Friedrich Gauss&#xff09;首先系统研究并命名。以下是关于高斯分布的详细介绍&#x…

基于 Pre-commit 的 Python项目代码风格统一实践

背景信息 统一代码风格首先需要定义参照的规范&#xff0c;每个团队可能会有自己的规范&#xff0c;我们选择的规范是 yapf mypy isort&#xff0c;如果保证所有的研发人员都遵循相关规范呢&#xff1f; 鼓励 IDE 中对应的插件的安装&#xff0c;通过直接对应的插件&#x…

bootstrap实现天平效果

之前提到了&#xff0c;最近&#xff0c;孩子的幼儿园让家长体验“半日助教活动”&#xff0c;每个家长需要讲授15-20分钟的课程。作为一名程序员&#xff0c;实在没有能教的课程&#xff0c;只能做了一个小游戏&#xff0c;带着小朋友们熟悉数字。 在上一章博客中&#xff0c…

【读书】读书笔记——理科生的视角:底层逻辑+数学之美

1&#xff0c;底层逻辑1&#xff08;看清这个世界的底牌&#xff09; 刘润 著 0&#xff09;什么是底层逻辑&#xff1f; 底层逻辑是&#xff1a;事物之间共同点、变化背后不变的东西事&#xff1b;看清事物的本质&#xff0c;才能在复杂变化中从根本上解决问题。 1&#x…

【Java继承】(超级详细!!!)

【Java继承】&#xff08;超级详细&#xff01;&#xff01;&#xff01;&#xff09; 1、 继承的概念2 、继承的语法3、 父类成员访问3.1 子类中访问父类的成员变量3.2 子类中访问父类的成员方法 4、 super关键字5 、子类的构造方法6、 继承关系上的执行顺序7、protected 关键…

ubuntu20.04安装后配置:wifi、屏幕亮度、Nvidia驱动等

文章目录 一、安装时最好用英语&#xff0c;否则Downloads等home下文件夹是中文二、安装后开机无法进入系统图形界面三、清理不必要软件&#xff0c;更新系统四、屏幕亮度、Nvidia驱动五、wifi 一、安装时最好用英语&#xff0c;否则Downloads等home下文件夹是中文 安装完再在…

error: ‘address‘ in ‘class school‘ does not name a type school:: address = “

错误代码 class school{ public:string name;static string address; public:static string getAddress(){return address;} };school::address "南京路";原因 school::address “南京路”;前面未加类型&#xff0c;导致编译错误 解决 class school{ public:stri…

选项卡式小部件QTabWidget

文章目录 1. 详细介绍2. 常用属性3. 信号4. 常用函数5. 官方示例Tab Dialog QTabWidget提供一堆选项卡式小部件。 1. 详细介绍 选项卡式部件提供一个选项卡栏和一个用于显示与每个选项卡相关的页面的页面区域。 默认情况下&#xff0c;选项卡栏显示在页面区域上方&#xff0c;…

Vue.js - 计算属性与侦听器 【0基础向 Vue 基础学习】

文章目录 计算属性 computedcomputed 的使用方法computed 与 method 的区别计算属性完整写法 watch 侦听器&#xff08;监视器&#xff09;简单写法 → 简单类型数据&#xff0c;直接监视完整写法 → 添加额外配置项 计算属性 computed computed 的使用方法 **概念&#xff1…

web题解,基础知识巩固(qsnctf)

1.文章管理系统 1&#xff09;打开题目&#xff0c;把它页面翻完了&#xff0c;没看懂它有啥用 2&#xff09;看了看源码&#xff0c;也是一样的&#xff0c;没找到有用的东西 3&#xff09;想着可能还是在隐藏文件里找&#xff0c;那我就直接用dirsearch扫扫看 4&#xff09;…

初识C++ · 模拟实现vector

目录 前言&#xff1a; 1 部分简单函数的实现 2 push_back和pop_back 3 reserve和resize 4 Print_vector 5 insert和erase 6 拷贝构造 7 构造 8 赋值 9 memcpy的问题 10 迭代器失效 前言&#xff1a; 继上文模拟实现了string之后&#xff0c;接着就模拟实现vector&…

DataFrame—数据汇总9

s3.sort_index() 文章最前&#xff1a; 我是Octopus&#xff0c;这个名字来源于我的中文名--章鱼&#xff1b;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github &#xff1b;这博客是记录我学习的点点滴滴&#xff0c;如果您对 Python、Java、AI、算法有兴趣&#xf…

MyBatis复习笔记

3.Mybatis复习 3.1 xml配置 properties&#xff1a;加载配置文件 settings&#xff1a;设置驼峰映射 <settings><setting name"mapUnderscoreToCamelCase" value"true"/> </settings>typeAliases&#xff1a;类型别名设置 #这样在映射…

如何去除视频上的文字?免费无痕去水印分享!视频制作良器!

对于需要进行二次创作的视频素材&#xff0c;去除原有的文字可以提供一个更加干净的画布&#xff0c;方便创作者在其基础上进行新的创作和编辑。同时&#xff0c;去除文字后的视频也更方便分享到各种平台&#xff0c;避免因为平台对文字的限制而导致视频无法发布或传播。 要去除…

Kotlin 标准函数 with、run、apply 的定义和使用

Kotlin 标准函数 with、run、apply 的定义和使用 1. with 函数 定义&#xff1a; with 函数允许你在一个对象的上下文中执行一个 lambda 表达式&#xff0c;而不需要在 lambda 表达式中重复引用该对象。 kotlin.internal.InlineOnly public inline fun <T, R> with(r…

云计算期末复习(1)

云计算基础 作业&#xff08;问答题&#xff09; &#xff08;1&#xff09;总结云计算的特点。 透明的云端计算服务 “无限”多的计算资源&#xff0c;提供强大的计算能力 按需分配&#xff0c;弹性伸缩&#xff0c;取用方便&#xff0c;成本低廉资源共享&#xff0c;降低企…

python 3.10 install on centos

CentOS 7 安装 Python 3.10_yum python3.10-CSDN博客

Homebrew安装mysql之后,启动和使用MySQL服务:

启动MySQL服务&#xff1a; brew services start mysql 手动启动服务&#xff1a; mysql.server start 例如&#xff1a; mysql.server start Starting MySQL .. SUCCESS! 停止 MySQL服务&#xff1a; brew services stop mysql 或者 mysql.server stop 重启MySQL服务&a…