美文网首页
nvm、nrm、npm、npx、yarn 小结

nvm、nrm、npm、npx、yarn 小结

作者: liuxinya | 来源:发表于2019-05-06 18:14 被阅读0次

    nvm (Node Version Manage)

    nrm

    • nrm 是一个管理 npm 源的工具。用来切换官方 npm 源和国内的 npm 源(如: cnpm),当然也可以用来切换官方 npm 源和公司私有 npm 源

    • 全局安装 npm i nrm -g

    • 查看当前 nrm 内置的几个 npm 源的地址: nrm ls

    • 切换到 cnpm:nrm use cnpm

    • 添加新源:nrm add [名字] [源地址]

    • 删除源: nrm del [名字]

    npm

    • npm i express --save / npm i express -S (安装 express,同时将 express 写入依赖)

    • npm i express --save-dev / npm i express -D(安装express,同时将 express 写入devDependencies)

    • npm i express --save --save-exact(安装express,同时将 express 写入依赖 锁定版本

    建议线上的Node.js应用都采取这种锁定版本号的方式

    npm config set save-exact true
    

    每次这样 npm i xxx --save 的时候会锁定依赖的版本号,加相当于了 --save-exact 参数。

    小提示:npm config set 命令将配置写到了〜/ .npmrc文件,运行 npm config list 查看。

    • 其他常用的一些命令
    npm config get registry  // 查看npm当前镜像源
    
    npm config set registry https://registry.npm.taobao.org/  // 设置npm镜像源为淘宝镜像
    
    yarn config get registry  // 查看yarn当前镜像源
    
    yarn config set registry https://registry.npm.taobao.org/  // 设置yarn镜像源为淘宝镜像
    
    - npm yarn
    初始化 会自动生成一个package.json文件 npm init yarn init
    添加模块 npm install 包名 yarn add 包名
    删除模块 npm uninstall 包名 yarn remove 包名
    更新模块 npm update 包名
    查看node.js全局包的安装路径 npm root -g
    查看当前项目npm包的安装路径 npm root
    查看全局安装的包列表 npm list -g --depth 0 depth 0 是限制目录层级
    清空缓存 npm cache clean
    查看安装的模块及依赖 npm ls / list
    cli commands https://docs.npmjs.com/cli-documentation/ https://yarnpkg.com/zh-Hans/docs/cli/

    Mac npm 全局安装目录 /usr/local/lib/node_modules

    npm nvm 一直提示 没权限

    // liuxinya是用户名
    sudo chown -R liuxinya ~/.npm
    sudo chown -R liuxinya ~/.nvm
    

    npx

    npx 想要解决的主要问题,就是方便调用项目内部安装的模块。比如,项目内部安装了测试工具 Mocha

    常规执行

    # 项目的根目录下执行
    $ node-modules/.bin/mocha --version
    

    npx

    npx mocha --version
    

    原理:

    • npx 运行的时候,会到node_modules/ .bin路径和环境变量$PATH里面,检查命令是否存在。

    • 由于 npx 会检查环境变量$PATH,所以系统命令也可以调用。
    • 注意,Bash 内置的命令不在$PATH里面,所以不能用。比如,cd是 Bash 命令,因此就不能用npx cd
    # 等同于 ls
    $ npx ls
    

    这里多记录一个东西 node_modules/ .bin文件

    • npm run命令会自动在环境变量$PATH添加node_modules/.bin目录,所以scripts字段里面调用命令时不用加上路径,这就避免了全局安装NPM模块。

    • npm run如果不加任何参数,直接运行,会列出package.json里面所有可以执行的脚本命令。

    • npm run会创建一个Shell,执行指定的命令,并临时将node_modules/.bin加入PATH变量,这意味着本地模块可以直接运行。

    相关文章

      网友评论

          本文标题:nvm、nrm、npm、npx、yarn 小结

          本文链接:https://www.haomeiwen.com/subject/hrtfyqtx.html