当前位置: 首页 > news >正文

从NPM注册中心获取包

目录

1、搜索和选择要下载的包

1.1 为什么使用

1.2 工作原理

1、质量

2、维护

3、受欢迎程度

4、名气

1.1、开始搜索包

2、在本地安装下载和安装软件包

2.1 安装未限定作用域的包

2.2 安装有作用域的公共包

2.3 安装私有包

2.4 测试包安装

2.5 已安装的软件包版本

2.6 安装带有dist-tags的包


1、搜索和选择要下载的包

您可以使用npm搜索栏来查找要在项目中使用的包。npm搜索使用npmsnpms分析器;

npms-代表npm search -旨在通过为node包提供更好的开源搜索来增强JavaScript社区。

1.1 为什么使用

npmjs.com允许开发人员搜索node包,但是使用过一段时间后,发现搜索到的结果不是很满意。官方搜索由Elasticsearch提供
支持,但没有配置高级分析器。更具体地,不启用词干提取
或拆分
。这对你意味着什么?尝试搜索“couchdb promise
”和“couchdb promise
”,看看搜索结果有多大不同。想象一下,由于这个原因,您在以前的搜索中丢失了多少包。

当屏幕上显示结果列表时,结果的顺序仅基于它们与搜索词的相关性。npmjs.com搜索不考虑软件包的价值,以将好的软件包排名更高。因此,用户必须手动逐个分析搜索结果,同时考虑到多个属性,例如软件包的版本(> 1.0.0?),下载次数、最新发布日期、GitHub问题数量、星、叉等。这一过程既繁琐又缓慢。

1.2 工作原理

npms分析器不断分析npm生态系统,从各种来源收集尽可能多的信息,包括GitHub,David
和nsp
。使用收集到的信息,根据四个不同的方面计算每个包的最终分数:

1、质量

质量属性易于计算,因为它们是独立的。这些是人们在签出包时首先查看的属性。

  • 是否README文件?是否有License?是否有.gitignore和friends。
  • 版本稳定吗(>1.0.0),是否已弃用
  • 是否有测试,覆盖率是多少?构建是否通过
  • 是否存在过时的依赖,是否有漏洞?
  • 是否有自定义的网站,是否有徽标?
  • 是否有已配置的链接?

2、维护

维护属性使我们能够了解包是否处于活动状态和运行状况,或者是否被放弃。这些通常是人们在检查包时查看的第二种属性。

  • 未解决的问题与总问题的比例
  • 关闭问题所需的时间
  • 最近提交
  • 提交频率
  • 发布频率

3、受欢迎程度

受欢迎程度属性使我们能够了解包的采用率和社区规模。这些是人们在未决定包选择时查看的属性。

  • 星数
  • 分叉数量
  • 订阅者数量
  • 贡献者数量
  • 依赖数
  • 下载次数
  • 下载加速

4、名气

如果两个包相似,则倾向于选择其作者在社区中广为人知的包。

人与人之间的关系也很重要。当用户关注另一个用户时,他们之间有一个链接。我们可以推断人们更喜欢他们关注的用户的软件包。

1.1、开始搜索包

在搜索栏中,键入搜索词,然后按Enter键。当您输入时,可能的选项将出现。 

2、根据包的搜索排名规则列出所对应的包名称,包版本,以及基本描述信息。

3、在搜索列表中点击对应的包名,会进入包的详细描述页面。

  

npm注册中心搜索页面默认如下所示(npm)

  

第一部分是展示的一些最受欢迎的一些包。

第二部分是按类型发现的一些包。

第三部分是包的总数,最近一周的下载量,最近一月的下载量。

第四部分是最近更新的一些包。

2、在本地安装下载和安装软件包

如果你想依赖你自己模块中的包,你可以在本地安装
一个包,使用类似Node.js中require进行引用,然后就可以使用包中的功能了。

2.1 安装未限定作用域的包

无作用域的软件包始终是公共的,这意味着任何人都可以搜索、下载和安装它们。若要安装公共包,请在命令行上运行

npm install <package_name>

这将在当前目录中创建node_modules目录(如果还不存在),并将软件包下载到该目录。

注意:如果本地目录中没有package.json文件,则安装最新版本的软件包。

如果存在package.json文件,npm会安装满足package.json中声明的最新版本。

2.2 安装有作用域的公共包

任何人都可以下载和安装作用域公共包
,只要在安装过程中引用作用域名称:

npm install @scope/package-name

2.3 安装私有包

私有软件包
只能由被授予对该软件包的读访问权限的用户下载和安装。由于私有包总是有作用域的,所以在安装过程中必须引用作用域名称:

npm install @scope/private-package-name

2.4 测试包安装

要确认npm install工作正常,请在您的模块目录中检查node_modules目录是否存在,并且它包含您安装的软件包的目录:

ls node_modules

2.5 已安装的软件包版本

如果在运行package.json的目录中有npm install文件,npm会安装满足package.json中声明的语义版本控制规则
的最新版本的包。

如果没有package.json文件,则安装最新版本的软件包。

2.6 安装带有dist-tags的包

npm publish一样,npm install <package_name>默认使用latest标签。

要覆盖此行为,请使用npm install <package_name>@<tag>。例如,要在标记为example-package的版本上安装beta,可以运行以下命令:

npm install example-package@beta

 
 

相关文章:

从NPM注册中心获取包

目录 1、搜索和选择要下载的包 1.1 为什么使用 1.2 工作原理 1、质量 2、维护 3、受欢迎程度 4、名气 1.1、开始搜索包 2、在本地安装下载和安装软件包 2.1 安装未限定作用域的包 2.2 安装有作用域的公共包 2.3 安装私有包 2.4 测试包安装 2.5 已安装的软件包版本…...

Elastic的下载

文章目录 ElasticSearch的下载扩展1&#xff08;ElasticSearch 与 JDK 版本 适配&#xff09;扩展2&#xff08;访问 http://192.168.1.200:9200 没有显示信息&#xff09;扩展3&#xff08;免密登录&#xff09; ElasticSearch的下载 官方下载网址&#xff1a;https://www.el…...

day52-Redis

Redis 1.Redis 1.1 RESP连接Redis 1.2 定义&#xff1a;是一个高性能的key-value数据库&#xff08;非关系型数据库&#xff09; 1.3 数据类型&#xff1a; key键的类型是字符串类型&#xff1b; 值的类型有五种&#xff1a;字符串String&#xff0c;哈希hash&#xff0…...

高效处理矢量大数据的高可用解决方案

高效处理矢量大数据的高可用解决方案 解决方案目标 存储海量矢量数据实时分析海量矢量数据实现海量矢量数据的可视化提供高可用、高性能和高可拓展性解决方案概述 海量数据查询与可视化 系统技术流程 方案一 数据存储: PostgreSQL+PostGIS(矢量数据存储和空间分析)数据服务…...

Docker Compose构建lnmp

目录 Compose的优点 编排和部署 Compose原理 Compose应用案例 安装docker-ce 阿里云镜像加速器 安装docker-compose docker-compose用法 Yaml简介 验证LNMP环境 Compose的优点 先来了解一下我们平时是怎么样使用docker的&#xff1f;把它进行拆分一下&#xff1a; 1…...

Flutter开发问题记录

1. Q:Mac电脑通过AndroidStudio运行软件到iphone报错 automatically assigning platform iOS with version 10.0 on target Runner because no platform was specified. A:项目中ios目录下,Podfile文件第2行 platform :ios, ‘11.0’&#xff0c;取消注释 2. Q:Mac电脑通过And…...

如何使用本地mock数据

当后端同事接口数据还未完成&#xff0c;我们前端开发需要使用数据时&#xff0c;怎么办呢&#xff1f;这里可以自己本地mock数据先用着啦&#xff01;仅在开发时使用 1. 创建一个 xxx.js文件&#xff0c;对外暴露一个数组&#xff1b; 对新建js文件编写导出&#xff0c;返回数…...

XXL-JOB定时任务框架(Oracle定制版)

特点 xxl-job是一个轻量级、易扩展的分布式任务调度平台&#xff0c;能够快速开发和简单学习。开放源代码并被多家公司线上产品使用&#xff0c;开箱即用。尽管其确实非常好用&#xff0c;但我在工作中使用的是Oracle数据库&#xff0c;因为xxl-job是针对MySQL设计的&#xff…...

SpringBoot + ajax 实现分页和增删查改

0目录 1.SpringBoot 2.SpringBoot分页&#xff1b;增删改查 1.SpringBoot分页 创建数据库和表 创建SpringBoot工程&#xff0c;引入springboot下的分页依赖 配置application.yml 实体类 Mapper接口 Mapper.xml Service接口 Service实现类 控制层 测试 加…...

ProxyGenerator-代理类生成器

ProxyGenerator是JDK-sun包下提供的用于生成动态代理类信息的类&#xff0c;其唯一向外透出的是其静态方法-generateProxyClass(…)。 public class ProxyGenerator { ... }学习本篇文章&#xff0c;就是想学习ProxyGenerator如何生成代理类信息的过程。 一、唯一入口-公开静…...

ARM 内存屏障指令

ARM 内存屏障指令 1. dmb (Data Memory Barrier) 数据内存栅栏2. dsb (Data Synchronization Barrier) 数据同步栅栏3. isb (Instruction Synchronization Barrier) 指令同步栅栏4. ARM 内存屏障指令如何选择使用&#xff1f;5. 使用示例5.1. DMB指令示例&#xff1a;5.2. DSB指…...

了解Linux 的 mmap --- 笔记

学习这篇博客&#xff0c;进行了一些归纳Linux下mmap_linux mmap_一个山里的少年的博客-CSDN博客https://blog.csdn.net/qq_56999918/article/details/127070280 >>读取文件 读取文件方法&#xff1a;由操作系统提供的两个方法&#xff0c;read和write来读写文件。 由…...

docker删除容器(步骤详解)

要在Docker中删除容器&#xff0c;需要使用命令docker rm。 下面是详细步骤&#xff1a; 1. 首先&#xff0c;使用docker ps命令查看当前正在运行的容器。这个命令会列出所有正在运行的容器的ID、名称、状态等信息。 如果没有正在运行的容器可以通过docker ps -a 查看当前所…...

boost beast http server 测试

boost beast http client boost http server boost beast 是一个非常好用的库&#xff0c;带上boost的协程&#xff0c;好很多东西是比较好用的&#xff0c;以下程序使用四个线程开启协程处理进入http协议处理。协议支持http get 和 http post #include <boost/beast/cor…...

Android 10.0 系统开启禁用adb push和adb pull传输文件功能

1.使用场景 在进行10.0的系统开发中,在一些产品中由于一些开发的功能比较重要,防止技术点外泄在出货产品中,禁用 adb pull 和adb push等命令 来获取系统system下的jar 和apk 等文件,所以需要禁用这些命令 2.系统开启禁用adb push和adb pull传输文件功能的分析 看了下系统…...

浙大数据结构第七周之07-图4 哈利·波特的考试

基础知识&#xff1a;&#xff08;最短路的前提都是在图中两条边之间的权值非定值&#xff09; &#xff08;一&#xff09;Dijkstra方法 算法实现&#xff1a; …...

vue2-vue项目中你是如何解决跨域的?

1、跨域是什么&#xff1f; 跨域本质是浏览器基于同源策略的一种安全手段。 同源策略&#xff08;sameoriginpolicy&#xff09;&#xff0c;是一种约定&#xff0c;它是浏览器最核心也是最基本的安全功能。 所谓同源&#xff08;即指在同一个域&#xff09;具有以下三个相同点…...

【Paper Reading】DETR:End-to-End Object Detection with Transformers

背景 Transformer已经在NLP领域大展拳脚&#xff0c;逐步替代了LSTM/GRU等相关的Recurrent Neural Networks&#xff0c;相比于传统的RNN&#xff0c;Transformer主要具有以下几点优势 可解决长时序依赖问题&#xff0c;因为Transformer在计算attention的时候是在全局维度进行…...

【rust/入门】windows安装rust gnu环境(折腾)

说在前面 首先说明&#xff0c;我是rust入门选手&#xff0c;之前都是在wsl写rust&#xff0c;突然想在windows下装下rust。windows版本&#xff1a;windows11 22H2原文换源 心路历程 看到教程我陷入了沉默&#xff0c;(官方推荐) 打开Microsoft C Build Tools我开始不解&…...

java面试---字符串相关内容

字符串 1. 什么是Java中的字符串池&#xff08;String Pool&#xff09;&#xff1f;2. String、StringBuilder和StringBuffer之间的区别是什么&#xff1f;3. 如何比较两个字符串的内容是否相等&#xff1f;4、equals和的区别5. String类有哪些常用的方法&#xff1f; 1. 什么…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一&#xff1a;yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因&#xff0c;后面把yaml.safe_dump直接替换成yaml.dump&#xff0c;确实能保存&#xff0c;但出现乱码&#xff1a; 放弃yaml.dump&#xff0c;又切…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...