Node.js npm npx yarn 包管理器
目录
Node.js npm npx yarn 包管理器
简介
由于 Node.js 平台是在后端运行 JavaScript 代码,所以,必须首先在本机安装 Node 环境。
- 下载 Node.js 安装包,一路下一步即可
- 检测
PATH
环境变量中是否包含Node
所在的路径 - 查看node的版本:
node -v
- 查看自带的 npm 的版本:
npm -v
设置默认全局安装路径
- 在
系统变量
下新建NODE_PATH
,输入全局模块安装路径D:\_dev\node.js\node_global\node_modules
- 将
用户变量
下的Path
的C:\Users\用户名\AppData\Roaming\npm
修改为D:\_dev\node.js\node_global
- 然后执行以下命令
npm config set prefix "D:\_dev\node.js\node_global" # 安装模块默认路径
npm config set cache "D:\_dev\node.js\node_cache" # 缓存路径
默认在执行类似npm install xxx -g
的安装语句时,会将安装的模块安装到C:\Users\用户名\AppData\Roaming\npm
路径,配置完后,通过此命令安装的模块,会安装在刚才配置的全局模块路径D:\_dev\node.js\node_global\node_modules\xxx
中。
当然,如果不加参数
-g
,则会安装在当前路径下。
package.json
package.json
位于已安装模块的根目录下,用于定义包(模块)的属性。
name
:模块名version
:模块的版本description
:模块的描述homepage
:模块的官网 urlauthor
:模块作者列表contributors
:模块的其他贡献者dependencies
:依赖模块列表(如果依赖模块没有安装,npm 会自动安装)repository
:模块代码存放仓库,type 可以是 git/svn,url 可以是 Githubmain
:程序的主入口文件(默认值是模块根目录下面的 index.js)keywords
:关键字列表
npm
npm
(Node Package Manager) 是 Node.js 的包管理工具
。
为啥我们需要一个包管理工具呢?因为我们在 Node.js 上开发时,会用到很多别人写的 JavaScript 代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具
应运而生:大家都把自己开发的模块打包后放到 npm 官网上,如果要使用,直接通过 npm 安装就可以直接用,不用管代码存在哪,应该从哪下载。
更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm 可以根据依赖关系,把所有依赖的包都下载下来并管理起来
。否则,靠我们自己手动管理,肯定既麻烦又容易出错。
帮助文档
- 官方在线帮助文档
- 本地帮助文档:在 [nodejs 安装目录](file:///C:/_dev/nodejs/node_modules/npm/docs/output/commands/) 或 [node_global 目录](file:///D:/_dev/node.js/node_global/node_modules/npm/docs/output/commands/)
- [cnpm 的本地帮助文档](file:///D:/_dev/node.js/node_global/node_modules/cnpm/node_modules/npm/docs/public/cli-commands/npm/index.html)
npm -h # 即 npm help,查看帮助文档
npm <command> -h # 查看指定命令的帮助文档
npm -l # 显示所有命令的帮助文档
npm help <term> # 在本地搜索指定主题的帮助文档,并在浏览器中打开
常用命令
npm -v # 查看 npm 版本
npm ls -g # 【list/la/ll】查看全局已安装的模块
npm ls -g xxx # 查看指定模块本地安装路径、版本号
npm root -g # 查看全局的包的安装路径
~/.npmrc # 打开配置文件,路径为【C:\Users\白乾涛\.npmrc】
npm i -g xxx # 【install/add】安装(更新)指定模块,也可以更新自己
npm i -g xxx@yyy # 更新到指定版本
npm un xxx # 【uninstall/remove/rm/r】卸载模块
npm update -g xxx # 【up/upgrade】更新全局模块
npm cache clear # 清空本地缓存
npm search xxx # 【s/se/find】搜索模块,如果使用了淘宝镜像,可能会报404
npm view xxx # 【info/show/v】查看此模块的版本、依赖、描述、官网等信息
npm view xxx description # 查看具体某一项信息,如 name/version,具体 key 来自于 package.json
安装时的参数
-g
:【--global
】全局安装,仅供命令行使用,代码中不直接通过require()
的方式调用全局安装的包-S
:【--save
】安装到生产环境,包名会被注册在package.json
里面的dependencies
中-D
:【--save-dev
】仅安装到开发环境,注册在devDependencies
,一般都是辅助工具,如 babel、webpack- 两者都不写:包名不会进入
package.json
里面,因此别人不知道你安装了这个包
全部可用的命令
access, adduser, audit,
bin, bugs,
cache, ci, completion, config,
dedupe, deprecate, diff, dist-tag, docs, doctor,
edit, exec, explain, explore,
find-dupes, fund,
get,
help, hook,
init, install, install-ci-test, install-test, link,
ll, login, logout, ls,
org, outdated, owner,
pack, ping, pkg, prefix, profile, prune, publish,
rebuild, repo, restart, root, run-script,
search, set, set-script, shrinkwrap, star, stars, start, stop,
team, test, token,
uninstall, unpublish, unstar, update,
version, view,
whoami
npm config
npm config list # 查看自定义的配置【C:\Users\白乾涛\.npmrc】
npm config list -l # 查看所有默认的配置,被修改的部分会加注释说明
npm config get xxx # 查看指定项的配置
npm config set xxx # 修改指定项的配置
npm config delete xxx # 删除指定项的配置
npm config edit # 打开用户的配置文件 C:\Users\白乾涛\.npmrc
npm config edit -g # 打开全的局配置文件 \node_global\etc\npmrc
npm config set prefix "D:\_dev\node.js\node_global" # 安装模块默认路径
npm config set cache "D:\_dev\node.js\node_cache" # 缓存路径
npm config set registry https://registry.npm.taobao.org # 设置淘宝镜像
cnpm
cnpm 是淘宝维护的 China npm
(虽然垃圾淘宝后来明确将其定义为 Company npm
)。
- http://npm.taobao.org => http://npmmirror.com
- http://registry.npm.taobao.org => http://registry.npmmirror.com
npm install cnpm -g # 安装 cnpm 并使用官方镜像
npm install cnpm -g --registry=https://registry.npmmirror.com # 安装 cnpm 并使用 cnpmjs 镜像
npm config set registry https://registry.npmmirror.com # 使 npm 默认设置淘宝镜像
npm install xxx --registry=https://registry.npmmirror.com # 临时使用淘宝镜像
npm search xxxx --registry=https://registry.npmjs.org # 临时使用官方镜像
使用淘宝镜像后,某些命令会有问题(例如npm search
命令),解决方案:
- 命令后面添加
--registry=https://registry.npmjs.org
,即临时改为官方的源 - 改为使用
cnpm
npx
npx 是 npm v5.2.0
引入的一条命令,是 npm 包的执行器,旨在提高从 npm 注册表使用软件包时的体验。
npm 的 m 是
Management
,npx 的 x 可以理解为eXecute
。
当执行 npx xxx
的时候
- npx 先看 xxx 在
$PATH
里有没有 - 如果没有,找当前目录的
node_modules
里有没有 - 如果还是没有,就安装这个
xxx
来执行
主要特点:
- 可以执行依赖包中的命令,安装完成自动运行
- 临时安装可执行依赖包,
不用全局安装
,不用担心长期的污染 - 自动加载 node_modules 中依赖包,不用指定
$PATH
- 可以指定 node 版本、命令的版本
yarn
yarn:Yet Another Resource Negotiator
YAML:Yet Another Markup Language
Fast, reliable, and secure dependency management for JavaScript.
简介及安装
Yarn 是由 Facebook、Google、Exponent 和 Tilde 联合推出的一个用来替代 npm 的包管理工具。
核心优点:安装速度快 --- Yarn 缓存
了每个下载过的包,所以再次使用时无需重复下载;同时利用并行下载
以最大化资源利用率,因此安装速度更快。
安装
scoop install yarn -g
choco install yarn
yarn -v
请将您的项目目录和 Yarn 的缓存目录 (
%LocalAppData%\Yarn
) 列入杀毒软件的白名单中,否则会因为每次向磁盘写入文件时而被扫描,导致安装软件包变得很慢。
常用命令
yarn -v # 查看版本
yarn global list # 查看全局安装的包
yarn config list # 获取当前配置
yarn config get xxx # 获取指定项配置
yarn config set xxx # 设置指定项
yarn init # 初始化一个新项目
yarn # 安装项目的全部依赖
yarn install # 和省略掉 install 时的效果一样
yarn add [xxx] # 添加依赖包
yarn global add [xxx] # 添加全局依赖包
yarn add [xxx]@[yyy] # 添加指定版本(或tag)的依赖包
yarn add [xxx] --dev # 将依赖项添加到 devDependencies
yarn add [xxx] --peer # 将依赖项添加到 peerDependencies
yarn add [xxx] --optional # 将依赖项添加到 optionalDependencies
yarn upgrade [xxx] # 升级依赖包
yarn upgrade [xxx]@[yyy] # 升级到指定版本(或tag)
yarn remove [xxx] # 移除依赖包
和 npm 常用命令对比
npm init --- yarn init
npm install --- yarn
npm install xxx@1.1.1 -g --- yarn global add xxx@1.1.1
npm install xxx@1.1.1 --save --- yarn add xxx@1.1.1
npm install xxx@1.1.1 --save-dev --- yarn add xxx@1.1.1 --dev
npm uninstall xxx --save(-dev) --- yarn remove xxx
npm run xxx --- yarn run xxxx
设置
可以通过yarn config list
查询当前的配置。
配置文件存放在%HOME%/.yarnrc
,内容可以直接修改,我修改后的内容如下:
cache-folder "D:\\_dev\\node.js\\yarn\\cache"
global-folder "D:\\_dev\\node.js\\yarn\\global"
prefix "D:\\_dev\\node.js\\yarn\\global"
yarn-offline-mirror "D:\\_dev\\node.js\\yarn\\mirror"
注意,要记得同步修改 Path 环境变量中的路径,不然用的时候会找不到已安装的模块。
D:\_dev\node.js\yarn\global\node_modules\.bin
也可以通过yarn config set [key] [value]
命令修改上述位置,key 值和上面文件中的一致。
在我们使用 global 安装包的时候,会在上面指定的 \yarn\global
下,生成 node_modules\.bin
目录
yarn global dir # 检查当前全局位置【D:\_dev\node.js\yarn\global】
yarn global bin # 检查 bin 的位置【D:\_dev\node.js\yarn\global\bin】
2016-11-16
本文来自博客园,作者:白乾涛,转载请注明原文链接:https://www.cnblogs.com/baiqiantao/p/6069790.html