npm用法及离线安装方法
npm用法及离线安装方法
基本的用法
查看某个模块的全部信息,或者可以查看单个信息
npm info name
npm info name version
npm info name homepage
install支持多种手段,包名,git路径,包括本地路径也可以
sudo npm install -global [package name]
npm install git://github.com/package/path.git
npm install git://github.com/package/path.git#0.1.0
npm install package_name@version
npm install path/to/somedir //本地路径
前提是本地路径里面包含一个完整的包,或者文件里面有合格的package.json文件即可
查看装好了哪些包
npm list
npm -global list
配置文件基本用法
修改文件就不用说了,命令配置方法
npm config set key=value
npm config set proxy=http://127.0.0.1:8087
具体的用法和具体key value可以通过打开说明文档查看
npm help npm
配置项可以通过以下命令查看已经配置过的项
npm config list
npm config list -l
配置代理,全局目录,源
下面正式介绍对付国内网络的方法了
首先几个重要的配置项一一介绍
prefix -- 全局安装的路径,也就是npm install -g 安装的模块在哪个位置。这个看个人喜好。我喜好将他设置到安装路径下面。
proxy -- 代理(http的代理是用这个),代理连外网的朋友这个就需要配置了。
https_proxy -- https代理
registry -- 类似linux的软件源,这个一定要修改的
npm config set prefix "c:\nodejs"
npm config set proxy=http://127.0.0.1:8087
npm config set https_proxy=http://127.0.0.1:8087
npm config set registry=http://registry.npmjs.org
registry=http://registry.npmjs.org 这句很重要,注意默认的源是https://registry.npmjs.org 是https的,反正我连默认的源是从来没成功过一次。
上例我把他修正为不加密http的就基本能正常了。
网络不行可以考虑一些国内的源试试,例如
npm config set registry "http://r.cnpmjs.org/"
离线安装
有许多环境下即便配置了代理,修改了源还是出现网络问题。常见的提示是shasum check failed。当然这不一定就是网络不行,但大部分情况下是网络连接不通畅导致的。
这种情况下可以手工下载并安装,其实也很简单。
首先找到想办法把你需要的包下载下来,这个可以多种办法了。或者从其他机器拷过来。
例如先npm info mysql 查看mysql这个包的信息,包信息里面会有软件主页或者代码仓库地址。一半在github上。(install因为要下载可能会失败,但是info指令信息少通常可以成功)。
例如node-mysql的地址在https://github.com/felixge/node-mysql
下载来之后解压到工程的node_modules目录下就是安装好了,就这么简单。
Project
---package.json
---index.js
---node_modules // 解压到此目录就行了(每个包文件夹下面有package.json,index.js文件的。)
注意:你下载下来的源码包可能和模块名字不一样。要将改名成模块名再拷贝进node_modules 中去。例如将node-mysql文件夹改名成mysql。
包之间的依赖关系离线安装问题
上面方法安装的包不会包含依赖的包,不过依赖包同样用上面离线一个个安装的办法也可以。
例如mysql包就依赖bignumber.js , readable-stream , require-all 三个包。npm默认情况下安装的依赖包会是一层一层往下的。例如安装好mysql工程结构会是这样的
Project
---package.json
---index.js
---node_modules
---mysql
---node_modules
---bignumber.js
---readable-stream
---require-all
你同样只需要相同的操作将依赖的包放到相应的位置便可。这样包管理的结构虽然复杂但是依赖关系很清晰。但是这个规定不一定非要这样,你也可以将依赖包放到第一层的node_modules文件夹下。nodejs搜索模块路径会一层一层往上搜索。
npm用法及离线安装方法的更多相关文章
- VS2012 update1 和 VS2012 Lang Pack 离线安装方法
原文:VS2012 update1 和 VS2012 Lang Pack 离线安装方法 最近有需要用VS2012打开ReactOS这个大项目,生成sln后打开用来导航代码什么的,但其代码都是ascii ...
- lrzsz离线安装方法
lrzsz离线安装方法 到网上下载lrzsz安装包,这里以lrzsz-0.12.20.tar.gz为例 2 打开终端 cd 到安装包所在目录 tar zxvf lrzsz-0.12.20.tar.gz ...
- 【终极指南】图文详解Chrome插件离线安装方法
Chrome插件离线安装背景介绍 因为无法访问Google所以国内用户目前大多只能通过第三方比如我们Chrome插件网下载插件,然后离线安装.Chrome官方自67版本后,只允许用户通过谷歌应用商店安 ...
- Android SDK离线安装方法详解(加速安装) 转
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助! 离线安装包下载地址:http://dl.vmall.com/c ...
- Android SDK离线安装方法详解(加速安装)
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...
- Visual Studio 2019 离线安装方法
1. 网址 1.1 阅读官方离线安装教程 离线安装官网 仔细阅读离线安装官网,差不多就能学会如何下载. 1.2 工作负荷和组件 ID 进入这个网址,Visual Studio 工作负荷和组件 ID,单 ...
- zabbix的离线安装方法----孙祎晨,如需转载请注明出处,谢谢配合。
------------------------zabbix的离线安装步骤--------------------------------------------------------------- ...
- vs2017 Visual Studio 离线安装方法
转自:http://www.jb51.net/softjc/539858.html 第一部分:离线下载安装文件 这里描述是包括所有版本,截图以下载VS2017社区版为例: ①登入VS官网下载页面,选择 ...
- Android SDK 离线安装方法
有朋友反映从连接直接下载安装包不能获取到最新版本(每次更新后的包地址需要重新去查找),而且经常无法访问. 最方便的方法是使用代理或vpn接入网络,即可及时下载最新版sdk. 作为一名开发人员,流畅地浏 ...
随机推荐
- QMYSQL driver not loaded
QT5 连接 QMYSQL 数据库时出现错误:QMYSQL driver not loaded. 解决方法如图:(图中使用指令:ldd libqsqlmysql.so) 从结果图显示中:libmysq ...
- MySQL decimal unsigned 更新负数不报错却为0
今天在验证接口的并发问题时,把之前通过 redis 解决的并发压力转移到 mysql 上(redis 在 set 保存数据和数据过期需要去向数据库获取时存在时延,会存在空挡造成大并发多插入数据的风险: ...
- C语言中的按位移动及其简单引用
C语言中的按位移动及其简单应用 在C语言中按位左移用”<<”表示,按位右移用”>>”表示. 按位左移和按位右移运算经常被用来替换乘二和除二运算,但是要注意,这两者之间并不完全等 ...
- 8分钟丨教你玩转 API
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由织云平台团队发表于云+社区专栏 背景 当下,业界越来越多公司在项目架构设计时,会采用微服务架构.微服务架构,可以让我们的产品有更好的扩 ...
- [Hive]HiveSQL解析原理
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用.美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析.Hive的稳定性和 ...
- [PY3]——Queue
Queue class Queue(builtins.object) __init__(self, maxsize=0) empty(self) full(self) get(self, block= ...
- sqlserver中利用Tran_sql把逗号分隔的字符串拆成临时表
在与数据库交互的过程中,我们经常需要把一串ID组成的字符串当作参数传给存储过程获取数据.很多时候我们希望把这个字符串转成集合以方便用于in操作. 有两种方式可以方便地把这个以某种符号分隔的ID字符串转 ...
- NSDictionary 和NSArray 排序(sort)
排序: NSMutableDictionary *dic=[[NSMutableDictionary alloc]init]; [dic setValue:@"第3个" forKe ...
- Java基础-内部类介绍
java内部类介绍 内部类一共分为4种 成员内部类 静态内部类 方法内部类 匿名内部类 下面我会为大家详细介绍每一个内部类!! 成员内部类 成员内部类就好像是外部类的一个成员属性,也是内部类中最常见的 ...
- 前端框架 vue 和 react 的区别
前言:最近需要使用 react,以前用过 vue,故来总结两者的区别. 首先React与vue有几点相同之处 1.都使用了Virtual DOM 2.提供了响应式(Reactive)和组件化(Comp ...