npm教程

基本使用

  • 安装与升级
    • 在安装 node的时候会自动安装npm
    • sudo npm install npm -g进行升级,使用cnpm的话,sudo cpm install npm -g进行升级
  • 安装模块
    • 全局
      • 命令行等工具,使用全局安装
      • npm install <package_name> -g
    • 本地项目
      • 你项目中的各种依赖
      • npm install <package_name>
  • 使用package.json
    • 在项目中管理npm模块,最好的方式是创建一个package.json的文件进行管理
    • 好处
      • 你依赖的各个模块在文件中都有记载
      • 可以让你指定模块的特定版本
      • 更好的协作性
    • npm install <package_name> --save安装模块,并写入package.jsondependencies字段
    • npm install <package_name> --save-dev安装模块,并写入package.jsondevDependencies字段
  • package.json中的版本号
    • 指定版本: "gulp": "1.2.2",只允许装1.2.2的版本
    • 允许bug-fixed版本自动升级~: "gulp": "~1.2.2",最后一位小版本可以高于2,但不允许装1.3.x的版本,1.2.3的版本是可以的
    • 中间版本号可以升级+: "gulp": "+1.2.2",可以安装1.x.x的版本,但是2.x.x是不允许的
    • latest: "gulp": "latest",安装最新版本
  • 升级模块
    • 本地模块
      • npm outdated 查看哪些需要升级
      • npm update进行升级
    • 全局模块
      • npm outdated -g --depth=0
      • npm update -g 升级全部模块
  • 卸载模块
    • 本地
      • npm uninstall lodash删除模块
      • npm uninstall --save lodash,删除模块,并在package.json中移除
    • 全局
      • npm uninstall -g jshint

问题

  • 提示EACCESerror(两种解决方案)
    1. 改变npm默认目录的权限
      • 找到npm的路径
        • npm config get prefix
      • sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
    2. 更改npm的默认目录
      • 创建一个新目录mkdir ~/.npm-global
      • npm配置到该目录 npm config set prefix '~/.npm-global'
      • 创建一个~/.profile文件,并写入 export PATH=~/.npm-global/bin:$PATH
      • 回到命令行,进行编译 source ~/.profile