$ cnpm install get-installed-path
Get installation path where the given package is installed. Works for globally and locally installed packages
You might also be interested in detect-installed.
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.
(TOC generated by verb using markdown-toc)
This project requires Node.js v6 and above. Use yarn v1 / npm v5 or above to install it.
$ yarn add get-installed-path
Review carefully the provided examples and the working tests.
Get installed path of globally or locally
namepackage. By default it checks ifnameexists as directory in global-modules directory of the system. Passopts.localto get path ofnamepackage from local directory or fromopts.cwd. Returns rejected promise if module not found in global/localnode_modulesfolder or if it exist but is not a directory.
Params
name {string}: package nameopts {Object}: pass opts.local to check locallyreturns {Promise}: rejected promise if name not a string or is empty stringExample
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.
Get installed path of a
namepackage synchronous. Returnsbooleanwhenpathsoption is used and filepath is directory, otherwise returns a full filepath OR throws error.
Params
name {string}: package nameopts {Object}: pass opts.local to check locallyreturns {string}: The full filepath or throw TypeError if name not a string or is empty stringExample
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'
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.
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.
Copyright 2013 - present © cnpmjs.org | Home |