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. ASP.Net MVC @Html类

    Model中的类 using System.Web;using System.ComponentModel; public class GuestBook { public int Id { get; ...

  2. 加密传输SSL协议3_非对称加密

    困死了,这里对非对称加密体系开个头,具体的实验明天写 非对称加密体系 为了解决对称加密中密钥的传输的问题,一些天才的数学家就提出了非对称式的加密体系,也称为公钥加密体系. 加密和解密的密钥是不同的.一 ...

  3. JavaWeb核心编程之(三.4)Servlet Context 配置

    ServletContextServlet引擎为每个Web应用程序都创建一个对应的ServletContext对象, ServletContext对象被包含在ServletConfig对象中, 调用S ...

  4. Android 树形菜单

    首先来一张萌萌哒的效果图(比较懒 - -) 然后是代码: // Node package com.example.treeview.utils; import java.util.ArrayList; ...

  5. Swift 断言

    assert(条件,"输出信息"); 如: let age=-1; assert(age>=0,"age要大于0");

  6. getElementByID、getElementsByName、getElementsByTagName实例详解

    getElementByID.getElementsByName.getElementsByTagName实例详解 本文通过实例,详细介绍了getElementByID.getElementsByNa ...

  7. Continue

    Continue 其作用为结束本次循环.即跳出循环体中下面尚未执行的语句. 对于while循环,继续求解循环条件. 对于for循环程序流程接着求解for语句头中的第三个部分expression表达式. ...

  8. linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客

    linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客 linux中读写锁的rwlock介绍 2013-02-26 13:59:35 分类: C/C++   http://yaro ...

  9. nodejs的url模块中的resolve()的用法总结

    var url = require('url'); var a = url.resolve('/one/two/three', 'four') , b = url.resolve('http://ex ...

  10. bootstrap-dialog的使用

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...