百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

NodejJS包管理工具

ztj100 2024-11-17 18:14 76 浏览 0 评论

NodejJS包管理工具

一、NPM基础

1. 简介

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

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

2. 安装

yum install gcc gcc-c++

wget http://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz

然后执行下面命令

tar -xvf node-v8.0.0-linux-x64.tar.xz

mv node-v8.1.4-linux-x64 node


配置环境变量

vim /etc/profile

在文件中添加,目录写自己的实际目录

#set for nodejs

export NODE_HOME=/usr/local/node

export PATH=$NODE_HOME/bin:$PATH

生效配置文件

source /etc/profile

node -v

npm -v

3. 命令

  • npm install 模块名称

node的安装分为全局模式和本地模式,默认本地模式,包会被安装到你的应用程序代码的本地node_modules目录下。在全局模式下,Node包会被安装到node的安装目录下的node_modules。全局安装为,npm install -g 模块名称

  • npm view 模块名称

查看node模块的package.json文件夹
注意事项:如果想要查看package.json文件夹下某个标签的内容,可以使用$npm view 模块名称 标签名称

  • npm help folders

查看npm使用的所有文件夹

  • npm outdated

检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新

  • npm outdated

检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新

  • npm update moduleName

更新node模块

  • npm uninstall moudleName

卸载node模块

  • npm search packageName

发布一个npm包的时候,需要检验某个包名是否已存在。

  • npm root

查看当前包的安装路径
(npm root -g:查看全局的包的安装路径)

提示:no such file or directory, open '/home/app-admin/package.json'

解决方法是

在命令行切换到安装nodejs文件下的nodejs\node_modules\npm 后执行npm install express
反复提示,建议重装。

4. 修改npm源地址

设置淘宝源:

npm config set registry http://registry.npm.taobao.org


查看源地址

npm config get registry

修改源地址

npm config set registry http://registry.npm.taobao.org

修改后再查看


测试效果

npm install express

npm update

npm info express


二、yarn

1. 安装

在Nodejs环境下,通过npm install -g yarn 命令进行全局安装:

npm install -g yarn




测试是否安装成功:

yarn -v

2. Yarn 源设置

yarn config set registry http://registry.npm.taobao.org -g

yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g

效果如下:



3. yarn的常用命令

安装yarn

npm install -g yarn

安装成功后,查看版本号:

yarn --version

创建文件夹 yarn

md yarn

进入yarn文件夹

cd yarn

初始化项目

yarn init // 同npm init,执行输入信息后,会生成package.json文件

yarn的配置项:

yarn config list // 显示所有配置项

yarn config get <key> //显示某配置项

yarn config delete <key> //删除某配置项

yarn config set <key> <value> [-g|--global] //设置配置项

安装包:

yarn install //安装package.json里所有包,并将包及它的所有依赖项保存进yarn.lock

yarn install --flat //安装一个包的单一版本

yarn install --force //强制重新下载所有包

yarn install --production //只安装dependencies里的包

yarn install --no-lockfile //不读取或生成yarn.lock

yarn install --pure-lockfile //不生成yarn.lock


添加包(会更新package.json和yarn.lock):

yarn add [package] // 在当前的项目中添加一个依赖包,会自动更新到package.json和yarn.lock文件中

yarn add [package]@[version] // 安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用-E参数

yarn add [package]@[tag] // 安装某个tag(比如beta,next或者latest)

//不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型:

yarn add --dev/-D // 加到 devDependencies

yarn add --peer/-P // 加到 peerDependencies

yarn add --optional/-O // 加到 optionalDependencies


//默认安装包的主要版本里的最新版本,下面两个命令可以指定版本:

yarn add --exact/-E // 安装包的精确版本。例如yarn add foo@1.2.3会接受1.9.1版,但是yarn add foo@1.2.3 --exact只会接受1.2.3版

yarn add --tilde/-T // 安装包的次要版本里的最新版。例如yarn add foo@1.2.3 --tilde会接受1.2.9,但不接受1.3.0


发布包

yarn publish

移除一个包

yarn remove <packageName>:移除一个包,会自动更新package.json和yarn.lock

更新一个依赖

yarn upgrade 用于更新包到基于规范范围的最新版本

运行脚本

yarn run 用来执行在 package.json 中 scripts 属性下定义的脚本

显示某个包的信息

yarn info <packageName> 可以用来查看某个模块的最新版本信息

缓存

yarn cache

yarn cache list # 列出已缓存的每个包

yarn cache dir # 返回 全局缓存位置

yarn cache clean # 清除缓存

相关推荐

sharding-jdbc实现`分库分表`与`读写分离`

一、前言本文将基于以下环境整合...

三分钟了解mysql中主键、外键、非空、唯一、默认约束是什么

在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。...

MySQL8行级锁_mysql如何加行级锁

MySQL8行级锁版本:8.0.34基本概念...

mysql使用小技巧_mysql使用入门

1、MySQL中有许多很实用的函数,好好利用它们可以省去很多时间:group_concat()将取到的值用逗号连接,可以这么用:selectgroup_concat(distinctid)fr...

MySQL/MariaDB中如何支持全部的Unicode?

永远不要在MySQL中使用utf8,并且始终使用utf8mb4。utf8mb4介绍MySQL/MariaDB中,utf8字符集并不是对Unicode的真正实现,即不是真正的UTF-8编码,因...

聊聊 MySQL Server 可执行注释,你懂了吗?

前言MySQLServer当前支持如下3种注释风格:...

MySQL系列-源码编译安装(v5.7.34)

一、系统环境要求...

MySQL的锁就锁住我啦!与腾讯大佬的技术交谈,是我小看它了

对酒当歌,人生几何!朝朝暮暮,唯有己脱。苦苦寻觅找工作之间,殊不知今日之事乃我心之痛,难道是我不配拥有工作嘛。自面试后他所谓的等待都过去一段时日,可惜在下京东上的小金库都要见低啦。每每想到不由心中一...

MySQL字符问题_mysql中字符串的位置

中文写入乱码问题:我输入的中文编码是urf8的,建的库是urf8的,但是插入mysql总是乱码,一堆"???????????????????????"我用的是ibatis,终于找到原因了,我是这么解决...

深圳尚学堂:mysql基本sql语句大全(三)

数据开发-经典1.按姓氏笔画排序:Select*FromTableNameOrderByCustomerNameCollateChinese_PRC_Stroke_ci_as//从少...

MySQL进行行级锁的?一会next-key锁,一会间隙锁,一会记录锁?

大家好,是不是很多人都对MySQL加行级锁的规则搞的迷迷糊糊,一会是next-key锁,一会是间隙锁,一会又是记录锁。坦白说,确实还挺复杂的,但是好在我找点了点规律,也知道如何如何用命令分析加...

一文讲清怎么利用Python Django实现Excel数据表的导入导出功能

摘要:Python作为一门简单易学且功能强大的编程语言,广受程序员、数据分析师和AI工程师的青睐。本文系统讲解了如何使用Python的Django框架结合openpyxl库实现Excel...

用DataX实现两个MySQL实例间的数据同步

DataXDataX使用Java实现。如果可以实现数据库实例之间准实时的...

MySQL数据库知识_mysql数据库基础知识

MySQL是一种关系型数据库管理系统;那废话不多说,直接上自己以前学习整理文档:查看数据库命令:(1).查看存储过程状态:showprocedurestatus;(2).显示系统变量:show...

如何为MySQL中的JSON字段设置索引

背景MySQL在2015年中发布的5.7.8版本中首次引入了JSON数据类型。自此,它成了一种逃离严格列定义的方式,可以存储各种形状和大小的JSON文档,例如审计日志、配置信息、第三方数据包、用户自定...

取消回复欢迎 发表评论: