zoukankan      html  css  js  c++  java
  • npm 常用命令

    查看源:            npm config get registry或npm config list

    修改源:            npm config set registry=https://registry.npm.taobao.org

    查看全局安装路径:     npm config get prefix

    修改全局安装路径:         npm config set prefix G:/node_modules_global

    初始化目录:              npm init

    全局安装(如gulp):            npm install -g gulp

    全局包卸载(如gulp):   npm uninstall -g gulp

    项目本地安装(如gulp):    npm install gulp --save-dev

    项目本地卸载(如gulp):    npm uninstall gulp --save-dev

    查看全局安装包:        npm ls --global (会查看到安装包所包含的所有依赖文件)

    查看全局安装包:                npm ls --global -depth (只查看顶级安装包)

    查看本地安装包:      npm ls

    查看本地安装包:                npm ls

    ===============================================================================================

    安装项目
    npm安装制定分支
    git://github.com/<user>/<project>.git#<branch>

    差异
    一个node package有两种依赖,一种是dependencies一种是devDependencies,
    其中前者依赖的项该是正常运行该包时所需要的依赖项,而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。
    如果你将包下载下来在包的根目录里运行
    npm install
    默认会安装两种依赖,如果你只是单纯的使用这个包而不需要进行一些改动测试之类的,可以使用

    npm install --production
    只安装dependencies而不安装devDependencies。

    如果你是通过以下命令进行安装
    npm install packagename
    那么只会安装dependencies,如果想要安装devDependencies,需要输入
    npm install packagename --dev

    缓存
    npm install或npm update命令,从 registry 下载压缩包之后,都存放在本地的缓存目录。

    查看cahce
    $ npm config get cache

    浏览这个目录
    $ npm cache ls
    清空它的命令
    $ npm cache clean
    ===============================================================================================

    Node的安装过程
      发出npm install命令
      npm 向 registry 查询模块压缩包的网址
      下载压缩包,存放在~/.npm目录
      解压压缩包到当前项目的node_modules目录


    问题
      运行npm install的时候,只会检查node_modules目录,而不会检查~/.npm目录。也就是说,如果一个模块在~/.npm下有压缩包,
    但是没有安装在node_modules目录中,npm 依然会从远程仓库下载一次新的压缩包。

    --cache-min参数
      解决这些问题,npm 提供了一个--cache-min参数,用于从缓存目录安装模块
    --cache-min参数指定一个时间(单位为分钟),只有超过这个时间的模块,才会从 registry 下载。
      $ npm install --cache-min 9999999 <package-name>
    另一种写法
      $ npm install --cache-min Infinity <package-name>

    ===============================================================================================

    npm 发布自己插件

    设置npm源为npm官网的  npm set registry=http://registry.npmjs.org

    npm init

      {
        "name": "npm", //项目或者插件的名字
        "version": "1.0.0", //版本号,每次发布新版本的时候需要手动更新版本号
        "description": "",
        "main": "index.js", //入口文件,加载这个插件时读的文件
        "scripts": {
          "test": "echo "Error: no test specified" && exit 1"
        },
        "author": "", //作者,这个名字可以是你注册npm账号的名字
        "license": "ISC"
      }

    npm whoami
      最后执行发布插件的命令

    npm adduser //如果没有账号,用此命令注册
    npm login //如果有账号,用此命令登陆

    npm publish 发布npm包

    使用npm unpublish <package>@<version>可以撤销发布自己发布过的某个版本代码。

    ==============================================================================================

    npm包的定义
      npm社区版本号规则采用的是semver(语义化版本),主要规则版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
      主版本号:当你做了不兼容的 API 修改,
      次版本号:当你做了向下兼容的功能性新增,
      修订号:当你做了向下兼容的问题修正。

    这里 npm 实际安装的模块是根据依赖的表示来决定的:
    "bluebird": "~3.1.1" 表示会安装最新的补丁版本。比如:安装 3.1.2、3.1.3 等,
    但是不会安装 3.2.0 这种小版本或者4.0.0 这种大版本(就算这些版本是最新的)。这种表示法是比较保险的,因为补丁版本只是 bug 修复,不会新增功能。
    "request-promise": "^1.0.2" 表示会安装最新的补丁版本或者小版本。比如:安装 1.1.0、1.1.1 等小版本,或者 1.0.3、1.0.4 等补丁版本,
    但是不会安装 2.0.0 这种大版本。而且,总是安装版本号最大的(也就是优先安装小版本)。这种表示法通常是保险的,小版本会增加向后兼容的功能。
    "lodash": "*" 表示安装最新的版本(不管这个版本是大版本、小版本、还是补丁版本)。这种表示法非常危险,如果有大版本,直接就安装了大版本,
    而大版本通常是不会向后兼容的,可能导致项目功能运行异常。

    升级补丁版本号:npm version patch
    升级小版本号:   npm version minor
    升级大版本号:   npm version major

    latest:安装最新版本==============================

    =====================================================================
    pkg 包名称
    version 版本号

    latest 当前版本

    other 自定义模块

    查看      npm view <pkg> 和npm info <pkg>一样

    查看版本信息  npm view <pkg> version

    查看tag信息   npm info <pkg> dist-tags (json)和npm dist-tag ls<pkg>一样

    添加tag,已有version    npm dist-tag add <pkg>@<version> <tag>

    添加tag,新version     npm publish -tag=<name>

    删除tag             npm dist-tag rm <pkg> <tag>

    查看tag           npm dist-tag ls<pkg>

    安装指定一版本的包    npm install <pkg>[@tag]

    pkg版本稳定将那么版本升级为lastst版本
    npm dist-tag add <pkg>@<version> latest

    更新npm版本

      npm update <pkg>
      npm update [-g] [<pkg>...]用来更新包,需要注意的是包更新依然需要符合package.json中的版本号范围,
        只会在版本号范围内更新最新版本的包。有-g,--dev,--save参数,没有加具体包名时默认更新所有的包。

    我们安装模块时,可以执行 npm install name --save(生产阶段的依赖) 

    或是 npm install name --save-dev(开发阶段的依赖),来将模块信息保存到项目的 package.json 文件中。

  • 相关阅读:
    ESB数据发布思路
    Mongo客户端MongoVUE的基本使用
    ESB数据采集思路
    css3学习笔记之按钮
    发布Qt程序时别忘了带上plugins(codecs等)
    [Qt]Cannot retrieve debugging output
    Linux下编译opencv库[转]
    OpenCV库Windows下QT编译及使用
    ipad4自动下载了ios8的安装包,好几个G啊,不想更新,怎么删了呢?
    VC: error LNK2019:unresolved external symbol *** referenced in function ***的解决方案
  • 原文地址:https://www.cnblogs.com/webrqy/p/7009360.html
Copyright © 2011-2022 走看看