当我在一个农村的小镇上,用的是挪动宽带,用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 express
or
npm 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 是几个通用命令,阔以不必加run
npm start === npm run start
举荐
npm模块管理器
具体介绍了npm的应用,以及参数相干配置
https://javascript.ruanyifeng.com/nodejs/npm.html
发表回复