NPM介绍及使用

npm 是 Node 的模块管理器,功能强大,使用简单。

npm常用命

  • npm init
    运行构建新项目的向导,初始化一个package.json文件,使用npm init --yes命令使用默认的配置来创建package.json文件。
  • npm install
    读取package.json文件来安装模块。package.json文件中的 dependenciesdevDependencies,分别对应生产环境需要的安装包和开发环境需要的安装包。
  • npm install
    在项目中安装模块。
  • npm i@
    安装指定版本的模块,版本号用@符号连接。
  • npm install -g
    全局安装模块。
  • npm install –save
    在项目中安装模块,并添加到项目配置文件package.json中,作为项目依赖。
  • npm install –save-dev
    在项目中安装模块,并添加到项目配置文件package.json中,作为项目开发依赖(devDependency)。
  • npm update
    更新指定的已安装模块。
  • npm update -g
    更新指定的全局安装模块。
  • npm uninstall
    从项目中移除已安装的模块。
  • npm uninstall –save
    卸载模块的同时,也将他从package.json文件中移除。
  • npm list
    列出项目中已安装的所有模块
  • npm list -g
    列出系统中全局安装的所有模块
  • npm -v
    显示npm包管理器的当前版本
  • npm adduser username
    在npmjs.org创建一个账户

    1
    2
    3
    4
    npm adduser
    Username: YOUR_USER_NAME
    Password: YOUR_PASSWORD
    Email: YOUR_EMAIL@domain.com
  • npm whoami
    显示你在npmjs.org上的账户详细信息

  • npm publish
    发布自己开发的模块到npmjs.org,要发布模块必须先有账户

    更新时发布的模块是先修改模块的version 否则会error

  • npm search
    搜索模块。可以用来检验某个包名是否已存在。

  • pm unpublish @
    撤销发布自己发布过的某个版本代码。

  • npm root
    查看当前包的安装路径。

  • npm root -g
    查看全局的包的安装路径。

  • npm config
    管理npm的配置路径。

    1
    2
    3
    4
    5
    npm config set <key> <value> [-g|--global]
    npm config get <key>
    npm config delete <key>
    npm config list
    npm config edit

    用得最多应该是设置代理。

  • npm login
    登录npmjs.org。
    npm login 输入正确的用户名和密码时仍出现 Incorrect username or password

    通过 npm config ls 查看是否使用了非 npmjs.org 官网的 registry。如下:

    1
    2
    3
    4
    5
    6
    7
    npm config ls
    ; cli configs
    user-agent = "npm/2.14.2 node/v4.0.0 darwin x64"
    ; userconfig /Users/xxx/.npmrc
    email = "xxx@xx.com"
    registry = "https://registry.npm.taobao.org/"

    使用了 taobao 的 registry 地址造成登录出现如标题所示错误。
    解决办法暂时切换回 npm 官方库地址:

    1
    npm config set registry https://registry.npmjs.org/

Node.js模块的版本号

NPM使用语义版本号来管理代码,语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。

主要版本Major:X.0.0 // 有大变动,向下不兼容
次要版本Minor:0.Y.0 // 新增了功能,但是向下兼容
补丁版本Patch:0.0.Z // 只是修复bug

配置npm源

这里使用的是淘宝源。

临时使用

1
npm install express --registry https://registry.npm.taobao.org

全局使用

1
2
3
4
5
npm config set registry https://registry.npm.taobao.org
#验证是否成功
npm config get registry
npm info express

切换会原来的源

1
npm config set registry https://registry.npmjs.org/

使用cnpm

1
2
3
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install express