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 # 清除缓存