当我在一个农村的小镇上,用的是挪动宽带,用npm去拉载一些依赖时,常常抛出
info There appears to be trouble with your network connection. Retrying... //你的网络连接仿佛有问题,在重试…
哪怕我开了网络代理,也会呈现,
装置一个依赖十分麻烦,这时才想到用淘宝镜像代理
长期应用
npm --registry https://registry.npm.taobao.org install express
永恒应用
npm config set registry https://registry.npm.taobao.org
配置CNPM
这样的话,你用npm走的还是官网的,cnpm走的代理
npm install -g cnpm --registry=https://registry.npm.taobao.org
复原应用
npm config set registry https://registry.npmjs.org
验证是否设置胜利
npm info expressornpm config get registry
NPM相干命令
整顿 npm 罕用的一些命令,不便查看
继续更新npm
你能够通过上面的命令显示npm以后的版本:
npm -v
如果有须要,能够通过上面的命令更新npm:
npm install -g npm
当 Node 的主版本 released 之后,你也可能须要从新构建 C++ 扩大:
npm rebuild
如果你须要治理多个版本的node.js和npm,能够思考应用 n 或者 nvm,https://www.sitepoint.com/quick-tip-multiple-versions-node-nvm/,我举荐大家应用nvm去治理node.js版本
卸载
如需删除 node_modules 目录上面的包(package),请执行:
npm uninstall <package>:
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 #搜寻包是否存在
package.json参数介绍
说完了npm,天然也得说下package.json文件的作用,以及阐明
key字段介绍
name - 包名version - 包的版本号description - 包的形容homepage - 包的官网 url author - 包的作者姓名contributors - 包的其余贡献者姓名dependencies - 依赖包列表。如果依赖包没有装置,npm 会主动将依赖包装置在 node_module 目录下repository - 包代码寄存的中央的类型,能够是 git 或 svn,git 可在 Github 上main - main 字段是一个模块ID,它是一个指向你程序的次要我的项目。就是说,如果你包的名字叫 express,而后用户装置它,而后require("express")keywords - 关键字
npm i 选项–global,–save,–save-dev
-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属性
script属性定义的对应了一段shell脚本npm start 启动模块 该命令写在package.json文件scripts的start字段中,能够自定义命令来配置一个服务器环境和装置一系列的必要程序 "scripts": { "start": "gulp -ws" }npm stop 进行模块npm restart 重新启动模块你可能在开发中用到是用npm run xxx,之类的,start ,stop,restart 是几个通用命令,阔以不必加runnpm start === npm run start
举荐
npm模块管理器
具体介绍了npm的应用,以及参数相干配置
https://javascript.ruanyifeng.com/nodejs/npm.html