文档章节

npm用法及离线安装方法

 千山万水
发布于 2015/06/26 16:20
字数 1035
阅读 122
收藏 7
点赞 0
评论 0

基本的用法

查看某个模块的全部信息,或者可以查看单个信息

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

配置文件基本用法

配置就是修改npmrc文件了。用命令行同样也是修改此文件。

npmrc存在三个位置,修改用户目录下的文件就更合适了。

~/.npmrc             (用户主目录,win系统在C:\Users\$用户名\.npmrc)

修改文件就不用说了,命令配置方法

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搜索模块路径会一层一层往上搜索。

© 著作权归作者所有

共有 人打赏支持
粉丝 24
博文 141
码字总数 138116
作品 0
厦门
npm安装bower时报错 我已解决

错误代码: npm ERR! Windows_NT 6.1.7601 npm ERR! argv "E:\node\node.exe" "E:\node\node_modules\npm\bin\npm-cli.js" "install" npm ERR! node v0.12.0 npm ERR! npm v2.5.1 npm ERR! c......

hhj187 ⋅ 2016/10/02 ⋅ 0

npm 模块安装机制简介

npm 是 Node 的模块管理器,功能极其强大。它是 Node 获得成功的重要原因之一。 正因为有了npm,我们只要一行命令,就能安装别人写好的模块 。 本文介绍 npm 模块安装机制的细节,以及如何解...

阮一峰 ⋅ 2016/01/21 ⋅ 0

npm 模块安装机制简介

npm 是 Node 的模块管理器,功能极其强大。它是 Node 获得成功的重要原因之一。 正因为有了npm,我们只要一行命令,就能安装别人写好的模块 。 $ npm install 本文介绍 npm 模块安装机制的细...

小哥哥 ⋅ 2016/01/27 ⋅ 0

npm离线安装node模块

在离线状态怎么安装模块,npm install 可以安装下载了的模块包,但是对于依赖的模块很多的模块很麻烦,有什么更好的方法呢?

行陌路 ⋅ 2013/06/21 ⋅ 3

一文看懂npm、yarn、pnpm之间的区别

本文作者对比了当前主流的包管理工具npm、yarn、pnpm之间的区别,并提出了合适的使用建议,以下为译文: NPM npm是Node.js能够如此成功的主要原因之一。npm团队做了很多的工作,以确保npm保持...

codeGoogle ⋅ 06/04 ⋅ 0

007-034-越写越快乐之OrbitDB数据库的基本使用

前言 输出是另外一种思考,虽然目前思考的深度还不够,那没关系,只要持续地思考输出,我相信会有不一样的收获。今天我分享的是有关OrbitDB数据库的内容。数据库是数据存储的媒介,可以看做存...

韬声依旧在路上 ⋅ 05/07 ⋅ 0

迅雷离线下载程序--lixian-portal

lixian-portal 是一个简洁实用的 Web 版迅雷离线下载程序。注:迅雷离线下载是仅为迅雷会员提供的服务,未开通会员的迅雷账户可能无法登录。 查看运行在 Michael Yin 家里的一个 lixian-por...

1354057778 ⋅ 2015/10/12 ⋅ 0

09、React系列之 使用yarn包管理工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 PS:转载请注明出处 作者:TigerChain 地址:http://www.jianshu.com/p/f05eabdf3ab6 本文出自TigerChain简书 React系列教程 教程简介 ...

TigerChain ⋅ 2017/12/15 ⋅ 0

在生成cordova项目时提示Errow installing local npm package错误

在安装完Cordova后,创建的项目在生成时提示生成失败,输出信息如下图: 错误列表如下图: 哪位大神遇到过或知道的请尽快给予帮助啊!!先谢谢了! 另注:公司电脑没有外网,所以安装时都是下...

行货优盘 ⋅ 2016/05/08 ⋅ 0

4.5 查看模块

在实际项目中,我们可能需要查询全局/本地都安装了哪些模块,来做下一步的操作。本节介绍如何查询已经安装的模块。 1. 查看全局模块 与安装模块一样,-g 参数在 npm 中就代表着全局的含义。 ...

嘘别吵_4d1c ⋅ 2017/12/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部