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

配置文件基本用法

配置就是修改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搜索模块路径会一层一层往上搜索。

npm用法及离线安装方法的更多相关文章

  1. VS2012 update1 和 VS2012 Lang Pack 离线安装方法

    原文:VS2012 update1 和 VS2012 Lang Pack 离线安装方法 最近有需要用VS2012打开ReactOS这个大项目,生成sln后打开用来导航代码什么的,但其代码都是ascii ...

  2. lrzsz离线安装方法

    lrzsz离线安装方法 到网上下载lrzsz安装包,这里以lrzsz-0.12.20.tar.gz为例 2 打开终端 cd 到安装包所在目录 tar zxvf lrzsz-0.12.20.tar.gz ...

  3. 【终极指南】图文详解Chrome插件离线安装方法

    Chrome插件离线安装背景介绍 因为无法访问Google所以国内用户目前大多只能通过第三方比如我们Chrome插件网下载插件,然后离线安装.Chrome官方自67版本后,只允许用户通过谷歌应用商店安 ...

  4. Android SDK离线安装方法详解(加速安装) 转

    AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助! 离线安装包下载地址:http://dl.vmall.com/c ...

  5. Android SDK离线安装方法详解(加速安装)

    AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...

  6. Visual Studio 2019 离线安装方法

    1. 网址 1.1 阅读官方离线安装教程 离线安装官网 仔细阅读离线安装官网,差不多就能学会如何下载. 1.2 工作负荷和组件 ID 进入这个网址,Visual Studio 工作负荷和组件 ID,单 ...

  7. zabbix的离线安装方法----孙祎晨,如需转载请注明出处,谢谢配合。

    ------------------------zabbix的离线安装步骤--------------------------------------------------------------- ...

  8. vs2017 Visual Studio 离线安装方法

    转自:http://www.jb51.net/softjc/539858.html 第一部分:离线下载安装文件 这里描述是包括所有版本,截图以下载VS2017社区版为例: ①登入VS官网下载页面,选择 ...

  9. Android SDK 离线安装方法

    有朋友反映从连接直接下载安装包不能获取到最新版本(每次更新后的包地址需要重新去查找),而且经常无法访问. 最方便的方法是使用代理或vpn接入网络,即可及时下载最新版sdk. 作为一名开发人员,流畅地浏 ...

随机推荐

  1. docker - 修改镜像/容器文件或者 "Docker root dir" 的在宿主机上的存储位置

    背景 之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右.现在随着程序运行,有 ...

  2. 《LeetBook》leetcode题解(15):3Sum[M]

    我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...

  3. Android Studio SVN的使用

    一 SVN的配置 这篇文章使用的Android studio版本为1.4 RC3. 我选择的是TortoiseSVN,版本为1.8,不要选择1.9版本(目前的最新版),因为如果你安装的是1.9版本当你 ...

  4. asp.net六种方法刷新页面

    第一: private void Button1_Click( object sender, System.EventArgs e )   {     Response.Redirect( Reque ...

  5. centos7的防火墙配置

    centos7 不在使用iptables作为防火墙, 而是使用firewalld规则, 好吃是支持动态更新, 不需要重启服务, 第二个就是加入了zone概念. 所以和centos6在防火墙配置上有很大 ...

  6. 用java做操作系统内核:软盘读写

    在前两节,我们将一段代码通过软盘加载到了系统内存中,并指示cpu执行加入到内存的代码,事实上,操作系统内核加载也是这么做的.只不过我们加载的代码,最大只能512 byte, 一个操作系统内核,少说也要 ...

  7. 美化checkbox多选框

    看到那些UI框架都是有美化checkbox多选框的,不过大多是图片或者是字体图标.于是就利用label仿了个多选框效果. <!DOCTYPE html> <html lang=&qu ...

  8. [PY3]——发送邮件

    一些概念 MUA:Mail User Agent——邮件用户代理,例如OutLook.Foxmail MTA:Mail Transfer Agent——邮件传输代理,例如163.com.sina.co ...

  9. MySQL5.6.12 rpm制作及及自动化部署安装

    转自:http://blog.itpub.net/29254281/viewspace-1268918/ 首先,下载rpmbuildyum install rpm-build -y它是Red Hat用 ...

  10. bootstrap 报错

    1. bootstrap table 加载出错,前台报错 Cannot read property 'colspan' of undefined { title : '设备类型', field : ' ...