当我在一个农村的小镇上,用的是移动宽带,用npm去拉载一些依赖时,常常抛出javascript
info There appears to be trouble with your network connection. Retrying... //你的网络链接彷佛有问题,在重试…
复制代码
哪怕我开了网络代理,也会出现,html
安装一个依赖很是麻烦,这时才想到用淘宝镜像代理vue
npm --registry https://registry.npm.taobao.org install express
复制代码
npm config set registry https://registry.npm.taobao.org
复制代码
这样的话,你用npm走的仍是官方的,cnpm走的代理java
npm install -g cnpm --registry=https://registry.npm.taobao.org
复制代码
npm config set registry https://registry.npmjs.org
复制代码
npm info express
or
npm config get registry
复制代码
整理 npm 经常使用的一些命令,方便查看node
你能够经过下面的命令显示npm当前的版本:react
npm -v
复制代码
若是有须要,能够经过下面的命令更新npm:git
npm install -g npm
复制代码
当 Node 的主版本 released 以后,你也可能须要从新构建 C++ 扩展:vue-router
npm rebuild
复制代码
若是你须要管理多个版本的node.js和npm,能够考虑使用 n 或者 nvm,www.sitepoint.com/quick-tip-m…,我推荐你们使用nvm去管理node.js版本shell
如需删除 node_modules 目录下面的包(package),请执行:express
npm uninstall :
npm uninstall lodash
复制代码
如需从 package.json 文件中删除依赖,须要在命令后添加参数 --save:
npm uninstall --save lodash
复制代码
注意:若是你将安装的包做为 "devDependency"(也就是经过 --save-dev 参数保存的),那么 --save 没法将其从 package.json 文件中删除。因此必须经过 --save-dev 参数能够将其卸载。
npm update package #更新局部模块
npm update -g package #更新全局模块
npm update -g package@version #更新全局模块 package-name 到 x.x.x 版本
复制代码
npm view react versions 查看包在npm全部版本
npm i vue@2.0.0 --save 安装指定版本
复制代码
当你正在开发一个模块时,会常常想在其它项目中尝试使用或者在任何一个目录运行它(若是你的应用支持),这时不必将其发布到 npm,并全局安装---仅需在该模块所在目录使用下面的命令:
npn list
复制代码
该命令会为模块在全局目录下建立一个符号连接。能够经过下面的命令查看模块引用:
npm list -g --depth=0
复制代码
或者:
npm outdated -g
复制代码
如今,就能够从命令行运行模块或者经过 require 在任何项目中引入该模块。
另外一个选择是,能够经过文件路径在 package.json 文件中声明对该模块的依赖:
"dependencies": {
"myproject": "file:../myproject/"
}
复制代码
npm root #查看本地安装的目录
npm root -g #查看全局安装的目录
npm info package #查看包信息
npm ls #查看本地安装包
npm ls -g #查看全局安装包,包含依赖
npm ls -g --depth 0 #查看全局安装包,不包含依赖
npm outdated #列出全部不是最新版的包,能够带参数
npm cache clean #清除本地缓存
npm config ls -l #查看npm配置
npm view package versions #查看包的全部版本
npm publish #发布包
npm access #设置发布包的访问级别
npm search modulNmae #搜索包是否存在
复制代码
说完了npm,天然也得说下package.json文件的做用,以及说明
name - 包名
version - 包的版本号
description - 包的描述
homepage - 包的官网 url
author - 包的做者姓名
contributors - 包的其余贡献者姓名
dependencies - 依赖包列表。若是依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下
repository - 包代码存放的地方的类型,能够是 git 或 svn,git 可在 Github 上
main - main 字段是一个模块ID,它是一个指向你程序的主要项目。就是说,若是你包的名字叫 express,而后用户安装它,而后require("express")
keywords - 关键字
复制代码
-global: 简写 -g
npm i express -g 为全局安装,这种就能够直接使用express命令, 不然会提示express不是内部或外部命令
-save: 简写 -S, 做用是在package.json的dependencies字段增长或修改安装包和版本号
-save-dev: 简写 -D, 是修改devDependencies, 这样就不用安装了某个包以后手动修改package.json
复制代码
版本分为: 主版本号、次版本号、补丁版本号
"devDependencies": {
"vue": "~2.2.2", // 匹配最近小版本,如,会匹配全部的2.2.x版本,但最高不会匹配2.3.0
"vue-router": "^2.2.0" // 最近的一个大版本,全部 2.x.x但不不包括3.0.0,至关于 2.0.0 <= version < 3.0.0
}
复制代码
script属性定义的对应了一段shell脚本
npm start 启动模块
该命令写在package.json文件scripts的start字段中,能够自定义命令来配置一个服务器环境和安装一系列的必要程序
"scripts": {
"start": "gulp -ws"
}
npm stop 中止模块
npm restart 从新启动模块
你可能在开发中用到是用npm run xxx,之类的,start ,stop,restart 是几个通用命令,阔以不用加run
npm start === npm run start
复制代码
npm模块管理器
详细介绍了npm的使用,以及参数相关配置