NPM使用技巧

NPM使用技巧

  • 前言
  • 技巧
    • 全局模块位置
    • PowerShell报错
    • 安装模块冲突
  • NPM介绍
  • NPM命令
    • 使用方法
    • 基本命令
    • 模块命令
    • 查看模块
    • 运行命令
    • 镜像管理
  • 常用模块
    • rimraf
    • yarn

前言

本文包含NodeJS中NPM包管理器的使用技巧,具体内容包含NPM介绍、NPM命令、常用模块等内容,还包含全局模块位置、PowerShell报错、安装模块冲突等技巧。

技巧

全局模块位置

NPM使用npm install -g命令安装的全局模块一般在用户目录下,位置如下:

C:\Users\[username]\AppData\Roaming\npm

其中,[username]为用户名。

PowerShell报错

使用PowerShell运行NPM安装的脚本时报错,提示在此系统上禁止运行脚本,如下图:
在这里插入图片描述

解决方案:
方案1:使用CMD命令提示符运行此命令。
方案2:管理员身份运行PowerShell,运行下方命令:

set-ExecutionPolicy RemoteSigned

即可在PowerShell中正常运行之前无法运行的脚本,如下图:
在这里插入图片描述

若要恢复PowerShell的设置,可运行如下命令:

set-ExecutionPolicy Default

若要查看当前ExecutionPolicy状态,可以使用如下命令:

set-ExecutionPolicy

安装模块冲突

使用npm install命令安装package.json中的模块时,可能会报peer错误,即安装模块冲突,如下图:
在这里插入图片描述

原因
新版的NodeJS中的NPM版本较高,不兼容老版本创建的package.json文件。

解决方案
方案1:在npm install命令后添加--force(即-f)或--legacy-peer-deps命令。
方案2:将NodeJS卸载重装,降级到12版本。

NPM介绍

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

由于新版的NodeJS已经集成了npm,所以安装NodeJS时npm也一并安装好了。

测试是否成功安装,打开CMD命令提示符或PowerShell,命令如下:

npm -v

若出现版本提示表示安装成功,如下图:
在这里插入图片描述

NPM命令

使用方法

打开CMD命令提示符或PowerShell,推荐使用PowerShell,因为可以查看之前使用的命令记录。

基本命令

# 查看 npm 命令列表
npm -h# 查看各个命令的简单用法
npm -l# 查看 npm 的版本
npm -v# 查看 npm 的配置
npm config list -l

模块命令

安装模块

# 本地安装
npm install [module name]# 全局安装
npm install -g [module name]
# 同
npm install [module name] -g# 强制安装
npm install -f [module name]

其中,[module name]为模块名。

安装指定版本
安装指定版本的模块,也适用于降级模块版本

# 安装指定版本的模块
npm install [module name]@[version]# 示例:安装指定版本的jquery
npm install jquery@1.11.0# 示例:安装jquery v1.0中的最新版本
npm install jquery@1

安装所有依赖包
安装当前项目的所有依赖包,即当前目录中package.json中的全部模块,一般使用本地安装方式

npm install

更新npm

npm install -g npm

更新模块

# 升级本地模块
npm update [module name]
# 升级全局模块
npm update -g [module name]

卸载模块

# 卸载本地模块
npm uninstall [module name]
# 卸载全局模块
npm uninstall -g npm uninstall

卸载所有模块
卸载本地所有模块,需安装rimraf模块

npm install -g rimraf
rimraf node_modules

查看模块

查看所有安装模块及版本号

# 查看本地模块
npm list
# 查看全局模块
npm list -g

查看指定模块的版本号

npm list [module name]

运行命令

npm 不仅可以用于模块管理,还可以用于执行脚本。package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供npm直接调用。

# 列出package.json里所有可以执行的脚本命令
npm run# 运行package.json中的start脚本命令
npm run start
# 同
npm start# 运行package.json中的test脚本命令
npm run test
# 同
npm test

镜像管理

设置npm镜像(可选)

设置npm镜像
npm config set registry [resigtry address]
# 设置npm镜像为淘宝镜像
npm config set registry https://registry.npmmirror.com

其中,resistry address为镜像地址。

安装淘宝定制的cnpm工具(可选)

# 安装cnpm工具,并设置registry
npm install -g cnpm --registry=https://registry.npmmirror.com
# 使用cnpm安装模块
cnpm install [module name]

查看镜像

# 查看npm镜像
npm config get registry
# 查看cnpm镜像
cnpm config get registry

常用模块

rimraf

作用:以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可删除。

一般使用全局安装方式,这样在任何目录都可以使用此模块。

# 安装
npm install -g rimraf
# 使用
rimraf node_modules

yarn

作用:yarn同npm类似,也是一个软件包管理系统,用于管理 JavaScript 编写的软件包,yarn 的出现是为了弥补 npm 的一些缺陷。

一般使用全局安装方式,这样在任何目录都可以使用此模块。

# 安装
npm install -g yarn
# 移动到项目目录
cd [project path]
# 安装项目所有的依赖包
yarn install

其中,[project path]为项目所在文件目录。

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

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

相关文章

【STM32】学习笔记-时间戳RTC

Unix时间戳 Unix 时间戳(Unix Timestamp)定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒 时间戳存储在一个秒计数器中,秒计数器为32位/64位的整型变量 世界上所有时区的秒计数器相同,不同时区通…

upload-labs 16/17关

16 将gif文件和包含一句话木马的php文件放在同一目录下,用cmd的copy命令将php文件整合进文件中。 可以看到最后一行包含了注入代码 将b1文件上传到服务器后,发现并未能正常执行代码,将上传后的文件下载到本地,打开后发现最后的代…

XML解析 不允许有匹配 _[xX][mM][lL]_ 的处理指令目标

以上错误是在解析xml参数时候报出的。 我这里错误的原因在于&#xff0c;<?xml version\"1.0\" encoding\"UTF-8\"?>少了个空格&#xff0c;参考下图&#xff1a; 下面一行才是对的。

发收一体的2.4G射频合封芯片Y62G,内置九齐MCU

宇凡微2.4GHz发收一体合封芯片Y62G是一款高度集成的系统芯片&#xff0c;融合了2.4G芯片G350和微控制器&#xff08;MCU&#xff09;功能&#xff0c;为开发人员提供了更好的设计自由度和成本效益的解决方案。以下是Y62G芯片的主要特点和优势&#xff1a; 高度合封集成 Y62G芯…

SQL4 查询结果限制返回行数

描述 题目&#xff1a;现在运营只需要查看前2个用户明细设备ID数据&#xff0c;请你从用户信息表 user_profile 中取出相应结果。 示例&#xff1a; iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学Shanghai36543female20北京大学Beijin…

SpringMvc 之crud增删改查应用

目录 1.创建项目 2.配置文件 2.1pom.xml文件 2.2 web.xml文件 2.3 spring-context.xml 2.4 spring-mvc.xml 2.5 spring-MyBatis.xml 2.6 jdbc.properties 数据库 2.7 generatorConfig.xml 2.8 日志文件log4j2 3.后台代码 3.1 pageBean.java 3.2切面类 3.3 biz层…

【Spring Boot】JPA — JPA入门

JPA简介 1. JPA是什么 JPA是Sun官方提出的Java持久化规范&#xff0c;它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据&#xff0c;通过注解或者XML描述“对象-关系表”之间的映射关系&#xff0c;并将实体对象持久化到数据库中&#xff0c;极大地简…

公司内部传文件怎么安全——「用绿盾透明加密软件」

为保证公司内部文件传递的安全性&#xff0c;可以使用天锐绿盾透明加密软件来进行保护。以下是具体的操作步骤&#xff1a; 在公司内部部署天锐绿盾加密软件&#xff0c;确保需要传递的文件都能受到加密保护。 在员工的工作电脑上安装天锐绿盾客户端&#xff0c;并设置好相关的…

Grafana配置邮件告警

1、创建一个监控图 2、grafana邮件配置 vim /etc/grafana/grafana.ini [smtp] enabled true host smtp.163.com:465 user qinziteng05163.com password xxxxx # 授权码 from_address qinziteng05163.com from_name Grafanasystemctl restart grafana-serv…

本地启动 Falcon-180B

本地启动 Falcon-180B 通过 Gradio 的 load 函数&#xff0c;我们可以在本地加载 HuggingFace 的 Spaces 上面的 demo。 那就运行 Falcon-180B 来试试吧。 创建 falcon_demo.py 文件&#xff0c; cat << EOF > falcon_demo.py import gradio as grdemo gr.load(&q…

亚马逊云科技与德勤中国推出新工具,有效缓解生成式AI时代下的安全问题

随着人工智能技术的飞速发展&#xff0c;生成式AI应用越发广泛&#xff0c;在各领域迎来了新的机遇&#xff0c;但同时也在安全层面给企业带来了新的挑战。网络攻击、数据泄露、隐私侵犯等安全威胁&#xff0c;以及法律法规的不断更新&#xff0c;使跨区域运营过程中的网络安全…

Apipost:API开发者的协同工作神器

在当今快速发展的数字化时代&#xff0c;API已成为企业与开发者实现数据互通、应用集成的重要桥梁。然而&#xff0c;随着API数量的不断增加&#xff0c;API开发、调试、测试、文档等工作也变得越来越复杂。为了解决这一痛点&#xff0c;一款名为Apipost的API协同研发工具应运而…

【业务功能篇106】 微服务-springcloud-springboot-电商订单模块--秒杀服务-定时任务【下篇】

四、秒杀活动 1.秒杀活动关注点 秒杀活动的最大特点就是高并发而且是短时间内的高并发&#xff0c;那么对我们的服务要求就非常高&#xff0c;针对这种情况所产生的共性问题&#xff0c;对应的解决方案&#xff1a; 2. 秒杀服务前端 当我们点击 秒杀抢购按钮后&#xff0c;对应…

单片机C语言实例:6、定时器的应用

定时器原理 1、什么是定时器&#xff1f;什么是计数器&#xff1f; 定时器&#xff0c;字面意思就是定时的。手机的闹钟就是个定时器&#xff0c;定个每天早上7点的闹钟。 计数器&#xff0c;字面意思计时统计个数的&#xff0c;来一个就加一个&#xff0c;一直累加着。 其实…

什么是Docker和Docker-Compose?

Docker的构成 Docker仓库&#xff1a;https://hub.docker.com Docker自身组件 Docker Client&#xff1a;Docker的客户端 Docker Server&#xff1a;Docker daemon的主要组成部分&#xff0c;接受用户通过Docker Client发出的请求&#xff0c;并按照相应的路由规则实现路由分发…

@ApiImplicitParams这个注解的作用

ApiImplicitParams这个注解的作用&#xff1f; ApiImplicitParams是一个用于描述方法参数的注解&#xff0c;它可以用在方法上&#xff0c;作用是为方法中的参数定义多个注解&#xff0c;并将这些注解集中到一个注解集中进行统一管理。通过ApiImplicitParams注解&#xff0c;我…

使用k8s helm离线部署spark-operator(私有仓库)

制作镜像 docker pull ghcr.io/googlecloudplatform/spark-operator:v1beta2-1.3.8-3.1.1 docker images docker save ImageID > ./spark.tar将制作的镜像上传到目的机器中&#xff0c;加载镜像 docker load < ./spark.tar打标签其中xxxx.xxx/xx/为私有仓库的地址 doc…

JavaScript个人笔记

1.常用数据布尔值判断 const data [,0,-1,null,undefined,[],{},()>{}]data.forEach(item>{if(item){console.log(item,结果)} 打印结果&#xff1a;、0、null、undefined这四个值的布尔值都是false&#xff0c;其余都是true

17.Xaml DockPanel控件 ---> 停靠面板

1.运行效果 2.运行源码 a.Xaml源码 <Window x:Class="testView.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic…

【Java基础篇 | 面向对象】—— 继承

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习JavaSE的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 继承允许一个类继承另一个…