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. error1

     #include<stdio.h>main(){ int a[10],i,m,n,j;   for(i=3;i<10;i++)    scanf("%d",&a ...

  2. op cache config

    [opcache] ; dll地址 zend_extension=php_opcache.dll ; 开关打开 opcache.enable=1 ; 开启CLI opcache.enable_cli= ...

  3. linux chmod使用说明

    chmod是用来改变一个目录的访问权限的,一般的方式是:chmod a+rwx 其中a代表全部,还有u[目录拥有者] ,g[目录拥有组],o[其他用户] r代表读,w代表写,x代表可以执行,对应数字权 ...

  4. Could not find class 'XXX.activity‘', referenced from method 'YYYY'

    Could not find class 'XXX.activity‘', referenced from method 'YYYY'的解决方案: 出现这个错误.是由于eclipse升级ADT所导致的 ...

  5. RedMine 版本管理工具

    一.介绍: Redmine 是一个开源的.基于Web的项目管理和缺陷跟踪工具.它用日历和甘特图辅助项目及进度可视化显示.同时它又支持多项目管理.Redmine是一个自由开放 源码软件解决方案,它提供集 ...

  6. 对手机SD卡的一些操作

    首先要导入外包 log4j-1.2.16.jar 代码如下: package com.car273.util; import java.io.BufferedReader; import java.i ...

  7. Qt 设置对话框背景(使用调色板,设置它的画刷,画刷可以是图片)

    http://blog.csdn.net/ei__nino/article/details/7305234

  8. Linux c 信号量

    信号量(通过进程通信实现进程间的同步) 信号量(semaphore)信号灯 信号量是共享内存整数数组.根据需要定义指定的数组长度 信号量就是根据数组中的值,决定阻塞还是解除阻塞 编程模型: 1.    ...

  9. #include <thread>

    1 detach 脱离当前主线程,自由执行,乱序; 2 join() 等待模式,执行完再执行下一个 3 std::this_thread::get_id() 获取当前线程编号 4 std::threa ...

  10. iOS深入学习 (Block全面分析)

    本文翻译自苹果的文档,有删减,也有添加自己的理解部分. 如果有Block语法不懂的,可以参考fuckingblocksyntax,里面对于Block 为了方便对比,下面的代码我假设是写在ViewCon ...