npm docs

设置镜像站

因为npmjs的官方网站,总会下载比较慢或打不开,所以通常需要设置一下镜像站来更好的安装npm库

  • npm install --registry http://registry.cnpmjs.org express 中国镜像站
  • npm config set registry http://registry.cnmpjs.org 设置为默认镜像站

查看版本和更新版本

  • npm -v 查看版本
  • npm install npm -g 更新npm
  • npm update -g npm 同上 更新npm

查看npm包默认安装目录

  • npm config get prefix 获取npm默认包安装目录 => // C:\Program Files\nodejs

安装包(本地安装或全局安装)

  • npm install lodash 本地安装
  • npm install lodash --save 保存到 package.json 文件的依赖列表
  • npm install -g grunt-cli 全局安装(可以在命令行直接调用 grunt 命令)
  • npm install -g jshint 全局安装jshint 或 更新全局的jshint

package.json

包描述文件,执行 npm install 时,会查找当前目录的package.json文件并安装本包所依赖的库

{
"name": "demo-app",
"version": "1.0.0",
"dependencies": []
}
npm install lodash --save  //将 lodash添加到 package.json 文件的dependencies字段

也可以手动编辑 **package.json** 的`dependencies`字段,然后执行 `npm install `

"dependencies": {
"lodash": "^2.4.1",
"tap": "*"
}

安装包更新

  • npm outdated 根据 package.json 或 当前目录 node_modules 下已经安装的包,检查是否有需要更新的包
    npm install jquery@1.6.3 --save  //安装旧版本的jquery(@作为版本号前缀,bower是用#作为版本号前缀) 并保存到 package.json
npm outdated //检查过时包
	npm update //检查 package.json的dependencies,更新包

卸载包

  • npm uninstall lodash 从 node_modules 中删除 lodash
  • npm uninstall lodash --save 从 node_modules 中删除 lodash,并从 package.json 的 dependencies 中删除lodash
  • npm uninstall -g jshint 卸载全局安装的jshint

创建node.js包/模块

node.js的模块是一种包,可以发布到npm上,创建node.js模块从 package.json 开始, 可以手动创建一个 package.json 文件, 或者 用 npm init 命令以问答的方式创建。

package.json 的必须字段 nameversion , main字段指定包的入口文件(当该模块被require时,加载main指定的js),默认为 index.js

发布包

简单来说,包就是包含 package.json 文件的目录。 在发布前,需要在npm registry上有账号,npm adduser 问答的方式添加用户账号 注意 添加的用户账号需是在 npm registry(默认 http://registry.npmjs.org, 可用 npm config get registry 查看) 中已注册了的

如果之前设置了镜像站 npm config set registry http://registry.cnpmjs.org 那就要求在该镜像站已注册账号,才能添加成功

  1. npm adduser 之后,可以执行 npm login 把身份验证信息 保存到配置文件.npmrc
  2. npm publish 发布包到 http://www.npmjs.com 。 如果不带参数,则会在当前目录下查找package.json文件,按照该文件描述信息发布;如果指定目录,就会在指定目录下查找package.json文件 (若报什么错误 导致不能发布成功,很有可能是 包名已存在,首先尝试修改为比较特殊的报名试试)
  3. 访问 http://www.npmjs.com 搜索刚刚发布的包,确定是否成功。
  4. npm install hello-node-soon 安装刚刚发布的包
  5. 包的版本更新 修改 package.jsonversion 字段,重新 npm publish
  6. npm uninstall hello-node-soon 卸载包

查看/设置 npm配置

  • npm config get registry
  • npm config set registry http://registry.cnpmjs.org
  • npm config ls 查看当前目录下配置文件.npmrc 的信息
  • npm config ls -l 查看所有默认配置

查看帮助

  • npm help npm帮助总览,很多有用的帮助信息
  • npm install -h 查看某个命令的帮助

npm使用教程(未完)的更多相关文章

  1. [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續)

    [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續) a10036it 发表于 2015-7-27 21:11:19 https://www.itsk.com/t ...

  2. Siki_Unity_2-9_C#高级教程(未完)

    Unity 2-9 C#高级教程 任务1:字符串和正则表达式任务1-1&1-2:字符串类string System.String类(string为别名) 注:string创建的字符串是不可变的 ...

  3. javascript有用小功能总结(未完待续)

    1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javasc ...

  4. ASP.NET MVC 系列随笔汇总[未完待续……]

    ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...

  5. 关于DOM的一些总结(未完待续......)

    DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...

  6. 我的SQL总结---未完待续

    我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...

  7. virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)

    virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...

  8. MVC丶 (未完待续······)

         希望你看了此小随 可以实现自己的MVC框架     也祝所有的程序员身体健康一切安好                                                     ...

  9. 一篇文章让Oracle程序猿学会MySql【未完待续】

    一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...

  10. golang在linux下的开发环境部署[未完]

    uname -a Linux symons_laptop 4.8.2-1-ARCH #1 SMP PREEMPT Mon Oct 17 08:11:46 CEST 2016 x86_64 GNU/Li ...

随机推荐

  1. Demo 示例控制输入光标位置

    <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <meta name="aut ...

  2. js函数定时器,定时读取系统实时连接数

    function GetDeviceInfo() {     setInterval(function()         {         GetDeviceRealtimeConnect();  ...

  3. javascript学习笔记(2)

    <html> <head><title>Throwing die</title><script>    var canv_width  = ...

  4. NOI2011 Day1

    NOI2011 Day1 兔农 题目描述:\(fib[1]=fib[2]=1, fib[i]=fib[i-2]+fib[i-1] (i\geq 3)\),若\(fib[i] \equiv 1(mod ...

  5. 字符串匹配——Brute-Force 简单匹配算法

    下面几篇文章记录字符串匹配算法. Brute-Force算法简称BF算法,中文名叫简单匹配算法.正如其名,简单粗暴,按部就班地遍历所有字符,算法简单,效率低下,不被看好. 但也正因为不常用,反而容易生 ...

  6. 设置ToggleButton、Switch、CheckBox和RadioButton的显示效果

    ToggleButton.Switch.CheckBox和RadioButton都是继承自android.widget.CompoundButton,意思是可选择的,因此它们的用法都很类似.Compo ...

  7. 基于注解的EF

    首先得你的ef dll版本在4.1以上 第一步贴第一个类 由于字段太多就写一部分  [Table("NavF")]//设置表名称     public class NavF     ...

  8. WCF初步学习

    一.理解面向服务(Service-Oriented-Architecture)    是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构.S ...

  9. ubuntu FTP服务安装

    //安装vsftp apt-get install vsftpd -y //增加账号 //1 查找 nologin位置 /usr/sbin/nologin useradd -d /alidata/ww ...

  10. 2014.8.16 if语句

    语句 if语句 大体可以分一下几种: 小知识  生成一个随机数: Random sss = new Random(); int a = sss.Next(100); Console.WriteLine ...