欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Node.js 之 NPM 使用

程序员文章站 2022-05-31 20:05:30
...

NPM,全称Node Package Manager,用来管理Node.js的包管理工具。

NPM 全局安装
全局安装的好处,是在任何目录下都可以使用已经安装的包。

  1. 全局安装命令: npm install xxx --global / npm install xxx -g
    Example #1:
    jquery包安装:npm install jquery --global
    gulp包的安装:npm i gulp -g
    gulp 版本查看:gulp -v
    注意:gulp包依赖的包很多; jquery包不能像gulp一样执行gulp xxx的命令;

  2. 全局卸载:npm uninstall -g xxx

  3. 全局安装的目录:
    Mac: /Users/xxx/.nvm/versions/node/node_xxx/bin
    Windows: C:\Users\您的用户名AppData\Roaming\npm\node_modules

NPM局部安装

  1. 在当前目录生成一个package.json, 可以使用命令: npm init -y
    注意:-y,表示生产json的时候,一切问题的选项都是yes。

  2. 局部安装命令:npm i gulp --dev-save
    注意1:–dev表示是开发环境的包;–save表示把它存在package.json里。
    注意2: gulp默认是全局安装的,所以即使局部安装后执行gulp -v也找不到它。
    所以可以装完后读取node modules找: ./node_modules/.bin/gulp -v

  3. 获取已经安装的gulp版本:
    通过更改package.json里的scripts可以很方便的获取gulp 版本。改完后可以执行 npm run dev获取gulp -v。

    注意: 直接输入gulp -v在package.json能获取到版本号.是因为package.json会先去全局找,全局找不到就直接在node modules里找。

    Example #1 & #2:

    “scripts”:{
       “dev”:  “./node_modules/.bin/gulp -v”
      }
    “scripts”:{
     “dev”:  “gulp  -v”
     }
  1. 开发环境依赖的包 VS 生产环境依赖的包。
    -S表示是生产环境的包: npm i underscore -S
    -D表示是dev环境的包: npm i underscore -D
     “dependencies” : {
         “underscore”: “^1.12.0”
        },
      “devDependencies”:{
          “gulp”: “^4.0.2”
        }
  1. 包的依赖关系查看。
    1)查看package-lock.json,去看包的依赖关系。
    2)npm list, 可以查看包的依赖关系树。
    3)npm list | grep gulp, 可以只查看gulp的依赖关系树。

  2. 根据package.json来安装需要的node.js包。
    安装生产环境的包: npm i --production
    安装当前package.json的所有包:npm i

  3. 查看安装包的版本。
    查看这个包发布的所有版本:npm view jquery versions
    安装指定版本的包:npm i [email protected] -S
    安装主版本1的最新版本:npm i [email protected] -S
    安装主版本1,次版本2的最新版本:npm i [email protected] -S

    版本号在package.json里的意义:
    “^1.12.3”: 大于1.12.3主版本1的最新版本,如1.12.4(锁定主版本号)
    “~1.12.3”: 大于1.12.3的副版本12最新版本,如1.12.12(锁定副版本号)
    “1.12.3”: 锁定1.12.3版本
    “*”: 锁定最新版本,如当前最新版本3.5.1

    注意: 如果是^,~后是个不存在的包,也会报错。

    包的版本格式: major_version.minor_version.patch_version
    major_version: 1
    minor_version: 12
    patch_version: 4

    Example #1:

        “dependencies” : {
          “underscore”: “^1.12.4”
          }
  1. 查看当前工作目录下过期的包: npm outdated
    根据package.json更新当前工作目录下安装的包: npm update
    清除npm缓存文件夹: npm cache clean --force

    注意: 清除缓存文件夹命令很重要,有时候安装因为网络问题失败了,再次使用npm install还是失败了。因为npm 缓存 没有清除,这时候清除npm缓存文件夹就很重要了