1. get-installed-path
Get installation path where the given package is installed. Works for globally and locally installed packages
get-installed-path
Package: get-installed-path
Created by: tunnckoCore
Last modified: Sat, 18 Jun 2022 07:49:38 GMT
Version: 4.0.8
License: MIT
Downloads: 462,670
Repository: https://github.com/tunnckoCore/get-installed-path

Install

npm install get-installed-path
yarn add get-installed-path

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

  • always-done: Handle completion and errors with elegance! Support for streams, callbacks, promises, child… more | homepage
  • detect-installed: Checks that given package is installed globally or locally. | homepage
  • global-modules: The directory used by npm for globally installed npm modules. | homepage
  • global-paths: Returns an array of unique "global" directories based on the user's platform… more | [homepage](https://github.com/jonschlinkert/global-paths "Returns an array of unique "global" directories based on the user's platform and environment. The resulting paths can be used for doing lookups for generators or other globally installed npm packages. Node.js / JavaScript.")
  • global-prefix: Get the npm global path prefix. | homepage
  • is-installed: Checks that given package is installed locally or globally. Useful for robust… more | homepage
  • minibase: Minimalist alternative for Base. Build complex APIs with small units called plugins… more | homepage
  • try-catch-core: Low-level package to handle completion and errors of sync or asynchronous functions… more | homepage

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.

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin