第三方包_which - dkvirus/npm-resource-read GitHub Wiki

说明

熟悉 linux 系统的知道 $ which node 可以输出 node 的安装路径(已经安装过 node 的前提下)。第三方包 which 实现类似效果,使用前先安装 $ npm install which

示例

Example1

var which = require('which')

/**
 * 异步用法
 */
which('node', function (er, resolvedPath) {
  if (er) console.log(er)
  console.log(resolvedPath)
})

// 机器上安装了 node,会输出安装路径:/Users/dkvirus/.nvm/versions/node/v8.11.3/bin/npm
// 机器上没安装 node,会打印错误信息

Example2

var which = require('which')

/**
 * 同步用法
 * 有安装 node 返回绝对路径,没有安装 node 报错中断程序运行
 */
var resolved = which.sync('node')
console.log(resolved)

Example3

var which = require('which')

/**
 * 同步用法
 * 如果没有安装 node 会打印错误信息中断程序运行,这不是要看到的结果
 * 添加参数{ nothrow: true },此时有安装 node 返回绝对路径,没有安装返回 null,完美!!
 */
var resolved = which.sync('nvm', { nothrow: true })
console.log(resolved)