Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

get-installed-path

tunnckoCore653.1kMIT4.0.8TypeScript support: definitely-typed

Get installation path where the given package is installed. Works for globally and locally installed packages

filepath, get, global, globally, install, installed, local, locally, npm, package, path, pkg, resolve

readme

get-installed-path npm version github release mit License NPM Downloads Total

Get installation path where the given package is installed. Works for globally and locally installed packages

You might also be interested in detect-installed.

Quality Assurance :100:

Code Climate Code Style Standard Linux Build Code Coverage Dependencies Status Renovate App Status Node Version Required

If you have any how-to kind of questions, please read Code of Conduct and join the chat room or open an issue.
You may also read the Contributing Guide. There, beside "How to contribute?", we describe everything stated by the badges.

tunnckoCore support Code Format Prettier Node Security Status Conventional Commits Semantic Release First Timers Only

Sponsor

All Contributors Spec Make A Pull Request Newsletter Subscribe PayPal Author Support Share Love BitHound Code

Table of Contents

(TOC generated by verb using markdown-toc)

Install

This project requires Node.js v6 and above. Use yarn v1 / npm v5 or above to install it.

$ yarn add get-installed-path

API

Review carefully the provided examples and the working tests.

getInstalledPath

Get installed path of globally or locally name package. By default it checks if name exists as directory in global-modules directory of the system. Pass opts.local to get path of name package from local directory or from opts.cwd. Returns rejected promise if module not found in global/local node_modules folder or if it exist but is not a directory.

Params

  • name {string}: package name
  • opts {Object}: pass opts.local to check locally
  • returns {Promise}: rejected promise if name not a string or is empty string

Example

const { getInstalledPath } = require('get-installed-path')

getInstalledPath('npm').then((path) => {
  console.log(path)
  // => '/home/charlike/.nvm/path/to/lib/node_modules/npm'
})

getInstalledPath('foo-bar-barwerwlekrjw').catch((err) => {
  console.log(err.message)
  // => 'module not found "foo-bar-barwerwlekrjw" in path ...'
})

getInstalledPath('npm', {
  local: true
}).catch((err) => {
  console.log(err.message)
  // => 'module not found "foo-bar-barwerwlekrjw" in path ...'
})

getInstalledPath('global-modules', {
  local: true
}).then((path) => {
  console.log(path)
  // => '~/code/get-installed-path/node_modules/global-modules'
})

// If you are using it for some sub-directory
// pass `opts.cwd` to be where the `node_modules`
// folder is.
process.chidr('foo-bar-baz')
getInstalledPath('global-modules', {
  local: true,
  cwd: '../'
}).then((path) => {
  console.log(path)
  // => '~/code/get-installed-path/node_modules/global-modules'
})

// When searching for the path of a package that is required
// by several other packages, its path may not be in the
// closest node_modules. In this case, to search recursively,
// you can use the following:
getInstalledPath('npm', {
 paths: process.mainModule.paths
}).then((path) => {
 // ...
})
// `process.mainModule` refers to the location of the current
// entry script.

getInstalledPathSync

Get installed path of a name package synchronous. Returns boolean when paths option is used and filepath is directory, otherwise returns a full filepath OR throws error.

Params

  • name {string}: package name
  • opts {Object}: pass opts.local to check locally
  • returns {string}: The full filepath or throw TypeError if name not a string or is empty string

Example

const { getInstalledPathSync } = require('get-installed-path')

const npmPath = getInstalledPathSync('npm')
console.log(npmPath)
// => '/home/charlike/.nvm/path/to/lib/node_modules/npm'

const gmPath = getInstalledPathSync('global-modules', { local: true })
console.log(gmPath)
// => '~/code/get-installed-path/node_modules/global-modules'

back to top

back to top

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the Contributing Guide and Code of Conduct documents for advices.

Author

License

Copyright © 2016-2017, Charlike Mike Reagent. Released under the MIT License.


This file was generated by verb-generate-readme, v0.6.0, on October 12, 2017.
Project scaffolded and managed with hela.

changelog

Change Log

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

From v3, changes are in GitHub Releases page

2.1.1 (2017-08-22)

Bug Fixes

  • deps: update deps, use eslint, add renovate config (d1dbee3)

2.1.0 (2017-08-22)

Features

  • recursion: support path recursion via options.paths (#13) (a70d67f)

2.0.3 (2016-12-12)

Bug Fixes

  • appveyor: force install npm globally at install step (06ca995)

2.0.2 (2016-12-11)

Bug Fixes

  • err: fix to return rejected promise if exists but not a directory (80a2b1e)

2.0.1 (2016-12-11)

Bug Fixes

  • package: all coverage to 100 (1343d90)

2.0.0 (2016-12-11)

Chores

  • refactor: update boilerplate, refactor (970e833)

BREAKING CHANGES

  • refactor: requires node >= 4; drop callback api - now is promise returning; expose .sync

method

1.0.3 - 2015-07-17

  • Release v1.0.3 / npm@v1.0.3
  • add callback api, close #2
  • update boilerplate

1.0.2 - 2015-05-06

  • Release v1.0.2 / npm@v1.0.2
  • standard style for the example usage
  • plus some tweaks

1.0.1 - 2015-05-06

  • Release v1.0.1 / npm@v1.0.1
  • add related section, close #1
  • update badges, close #1
  • rename some files to draw attention, close #1
  • update code style - apply feross/standard, close #1

1.0.0 - 2015-04-18

  • Release v1.0.0 / npm@v1.0.0
  • run keywords(1)
  • add usage example

0.0.0 - 2015-04-18

  • first commits