get-installed-path
get-installed-path copied to clipboard
Fail on windows
- node: v8.9.0
- npm: v5.5.1
- os: windows 7
- nvm: 1.1.7
const { getInstalledPathSync } = require('get-installed-path')
console.log(getInstalledPathSync('npm'))
C:\Users\keenwon\Desktop\yyyyy\node_modules\get-installed-path\dist\index.js:164
throw new Error(msg);
^
Error: get-installed-path: module not found "npm" in path C:\Users\keenwon\AppData\Roaming\npm\node_modules\npm
at getInstalledPathSync (C:\Users\keenwon\Desktop\yyyyy\node_modules\get-installed-path\dist\index.js:164:11)
at Object.<anonymous> (C:\Users\keenwon\Desktop\yyyyy\index.js:2:13)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
more info:
$ which npm
/c/Program Files/nodejs/npm
$ npm config -g get prefix
C:\Program Files\nodejs
Thanks for the report. Strange.. i'll check.
What's your APPDATA env?
Prefix is built on APPDATA joining with 'npm' then this prefix is joined with node_modules.
@jonschlinkert @doowb any ideas?
// index.js
const { getInstalledPathSync } = require('get-installed-path')
console.log(process.env);
console.log();
console.log(getInstalledPathSync('npm'))
keenwon@laptop-win7 MINGW64 ~/Desktop/get-installed-path-test
$ node -v
v8.9.0
keenwon@laptop-win7 MINGW64 ~/Desktop/get-installed-path-test
$ npm -v
5.5.1
keenwon@laptop-win7 MINGW64 ~/Desktop/get-installed-path-test
$ nvm version
1.1.7
keenwon@laptop-win7 MINGW64 ~/Desktop/get-installed-path-test
$ node index.js
{ ACLOCAL_PATH: '/mingw64/share/aclocal:/usr/share/aclocal',
ALLUSERSPROFILE: 'C:\\ProgramData',
APPDATA: 'C:\\Users\\keenwon\\AppData\\Roaming',
COMMONPROGRAMFILES: 'C:\\Program Files\\Common Files',
'CommonProgramFiles(x86)': 'C:\\Program Files (x86)\\Common Files',
CommonProgramW6432: 'C:\\Program Files\\Common Files',
COMPUTERNAME: 'LAPTOP-WIN7',
COMSPEC: 'C:\\Windows\\system32\\cmd.exe',
CONFIG_SITE: '/mingw64/etc/config.site',
DISPLAY: 'needs-to-be-defined',
EXEPATH: 'C:\\Program Files\\Git',
FP_NO_HOST_CHECK: 'NO',
HOME: 'C:\\Users\\keenwon',
HOMEDRIVE: 'C:',
HOMEPATH: '\\Users\\keenwon',
HOSTNAME: 'laptop-win7',
INFOPATH: '/usr/local/info:/usr/share/info:/usr/info:/share/info',
LANG: 'C.UTF-8',
LOCALAPPDATA: 'C:\\Users\\keenwon\\AppData\\Local',
LOGONSERVER: '\\\\LAPTOP-WIN7',
MANPATH: '/mingw64/share/man:/usr/local/man:/usr/share/man:/usr/man:/share/man',
MINGW_CHOST: 'x86_64-w64-mingw32',
MINGW_PACKAGE_PREFIX: 'mingw-w64-x86_64',
MINGW_PREFIX: '/mingw64',
MSYSTEM: 'MINGW64',
MSYSTEM_CARCH: 'x86_64',
MSYSTEM_CHOST: 'x86_64-w64-mingw32',
MSYSTEM_PREFIX: '/mingw64',
NUMBER_OF_PROCESSORS: '2',
NVM_HOME: 'C:\\Users\\keenwon\\AppData\\Roaming\\nvm',
NVM_SYMLINK: 'C:\\Program Files\\nodejs',
OLDPWD: '/c/Users/keenwon/Desktop',
ORIGINAL_PATH: 'C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Users
\\keenwon\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System3
2\\WindowsPowerShell\\v1.0;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Microsoft VS Code\\bin;
C:\\Users\\keenwon\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Program Files\\Microsoft
VS Code\\bin;C:\\Users\\keenwon\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs',
ORIGINAL_TEMP: '/tmp',
ORIGINAL_TMP: '/tmp',
OS: 'Windows_NT',
PATH: 'C:\\Users\\keenwon\\bin;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr
\\local\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\
\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Users\\keenwon\\bin;C:\\Windows\\system32
;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0;C:\\Progr
am Files\\Git\\cmd;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Users\\keenwon\\AppData\\Roaming
\\nvm;C:\\Program Files\\nodejs;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Users\\keenwon\\App
Data\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Program Files\\Git\\usr\\bin\\vendor_perl;C:\\Pr
ogram Files\\Git\\usr\\bin\\core_perl',
PATHEXT: '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',
PKG_CONFIG_PATH: '/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig',
PLINK_PROTOCOL: 'ssh',
PROCESSOR_ARCHITECTURE: 'AMD64',
PROCESSOR_IDENTIFIER: 'Intel64 Family 6 Model 142 Stepping 10, GenuineIntel',
PROCESSOR_LEVEL: '6',
PROCESSOR_REVISION: '8e0a',
ProgramData: 'C:\\ProgramData',
PROGRAMFILES: 'C:\\Program Files',
'ProgramFiles(x86)': 'C:\\Program Files (x86)',
ProgramW6432: 'C:\\Program Files',
PS1: '\\[\\033]0;$TITLEPREFIX:$PWD\\007\\]\\n\\[\\033[32m\\]\\u@\\h \\[\\033[35m\\]$MSYSTEM \\[
\\033[33m\\]\\w\\[\\033[36m\\]`__git_ps1`\\[\\033[0m\\]\\n$ ',
PSModulePath: 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\',
PUBLIC: 'C:\\Users\\Public',
PWD: '/c/Users/keenwon/Desktop/get-installed-path-test',
SESSIONNAME: 'Console',
SHELL: 'C:\\Program Files\\Git\\usr\\bin\\bash.exe',
SHLVL: '1',
SSH_ASKPASS: '/mingw64/libexec/git-core/git-gui--askpass',
SSLKEYLOGFILE: 'C:\\Users\\keenwon\\ssl-log.txt',
SYSTEMDRIVE: 'C:',
SYSTEMROOT: 'C:\\Windows',
TEMP: 'C:\\Users\\keenwon\\AppData\\Local\\Temp',
TMP: 'C:\\Users\\keenwon\\AppData\\Local\\Temp',
TMPDIR: 'C:\\Users\\keenwon\\AppData\\Local\\Temp',
USERDOMAIN: 'laptop-win7',
USERNAME: 'keenwon',
USERPROFILE: 'C:\\Users\\keenwon',
WINDIR: 'C:\\Windows',
windows_tracing_flags: '3',
windows_tracing_logfile: 'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log',
_: '/usr/bin/winpty' }
C:\Users\keenwon\Desktop\get-installed-path-test\node_modules\get-installed-path\dist\index.js:16
4
throw new Error(msg);
^
Error: get-installed-path: module not found "npm" in path C:\Users\keenwon\AppData\Roaming\npm\no
de_modules\npm
at getInstalledPathSync (C:\Users\keenwon\Desktop\get-installed-path-test\node_modules\get-in
stalled-path\dist\index.js:164:11)
at Object.<anonymous> (C:\Users\keenwon\Desktop\get-installed-path-test\index.js:5:13)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
Oooh.... i just realized that you
getInstalledPathSync('npm')
Can you try with some other globally installed modules? I think that particular case is kinda tricky and a bit make sense to fail (at least on windows ;d).
// index.js
const { getInstalledPathSync } = require('get-installed-path')
console.log(process.env)
console.log()
console.log(getInstalledPathSync('npm-check'))
output:
keenwon@laptop-win7 MINGW64 ~/Desktop/get-installed-path-test
$ npm i npm-check -g
C:\Program Files\nodejs\npm-check -> C:\Program Files\nodejs\node_modules\npm-check\bin\cli.js
+ [email protected]
updated 1 package in 1.836s
keenwon@laptop-win7 MINGW64 ~/Desktop/get-installed-path-test
$ npm-check --help
Check for outdated, incorrect, and unused dependencies.
Usage
$ npm-check <path> <options>
Path
Where to check. Defaults to current directory. Use -g for checking global modules.
Options
-u, --update Interactive update.
-y, --update-all Uninteractive update. Apply all updates without prompting.
-g, --global Look at global modules.
-s, --skip-unused Skip check for unused packages.
-p, --production Skip devDependencies.
-d, --dev-only Look at devDependencies only (skip dependencies).
-i, --ignore Ignore dependencies based on succeeding glob.
-E, --save-exact Save exact version (x.y.z) instead of caret (^x.y.z) in package.json.
--specials List of depcheck specials to include in check for unused dependencies.
--no-color Force or disable color output.
--no-emoji Remove emoji support. No emoji in default in CI environments.
--debug Debug output. Throw in a gist when creating issues on github.
Examples
$ npm-check # See what can be updated, what isn't being used.
$ npm-check ../foo # Check another path.
$ npm-check -gu # Update globally installed modules by picking which ones to upgrade.
keenwon@laptop-win7 MINGW64 ~/Desktop/get-installed-path-test
$ node index.js
{ ACLOCAL_PATH: '/mingw64/share/aclocal:/usr/share/aclocal',
ALLUSERSPROFILE: 'C:\\ProgramData',
APPDATA: 'C:\\Users\\keenwon\\AppData\\Roaming',
COMMONPROGRAMFILES: 'C:\\Program Files\\Common Files',
'CommonProgramFiles(x86)': 'C:\\Program Files (x86)\\Common Files',
CommonProgramW6432: 'C:\\Program Files\\Common Files',
COMPUTERNAME: 'LAPTOP-WIN7',
COMSPEC: 'C:\\Windows\\system32\\cmd.exe',
CONFIG_SITE: '/mingw64/etc/config.site',
DISPLAY: 'needs-to-be-defined',
EXEPATH: 'C:\\Program Files\\Git',
FP_NO_HOST_CHECK: 'NO',
HOME: 'C:\\Users\\keenwon',
HOMEDRIVE: 'C:',
HOMEPATH: '\\Users\\keenwon',
HOSTNAME: 'laptop-win7',
INFOPATH: '/usr/local/info:/usr/share/info:/usr/info:/share/info',
LANG: 'C.UTF-8',
LOCALAPPDATA: 'C:\\Users\\keenwon\\AppData\\Local',
LOGONSERVER: '\\\\LAPTOP-WIN7',
MANPATH: '/mingw64/share/man:/usr/local/man:/usr/share/man:/usr/man:/share/man',
MINGW_CHOST: 'x86_64-w64-mingw32',
MINGW_PACKAGE_PREFIX: 'mingw-w64-x86_64',
MINGW_PREFIX: '/mingw64',
MSYSTEM: 'MINGW64',
MSYSTEM_CARCH: 'x86_64',
MSYSTEM_CHOST: 'x86_64-w64-mingw32',
MSYSTEM_PREFIX: '/mingw64',
NUMBER_OF_PROCESSORS: '2',
NVM_HOME: 'C:\\Users\\keenwon\\AppData\\Roaming\\nvm',
NVM_SYMLINK: 'C:\\Program Files\\nodejs',
OLDPWD: '/c/Users/keenwon/Desktop',
ORIGINAL_PATH: 'C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Users
\\keenwon\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System3
2\\WindowsPowerShell\\v1.0;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Microsoft VS Code\\bin;
C:\\Users\\keenwon\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Program Files\\Microsoft
VS Code\\bin;C:\\Users\\keenwon\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs',
ORIGINAL_TEMP: '/tmp',
ORIGINAL_TMP: '/tmp',
OS: 'Windows_NT',
PATH: 'C:\\Users\\keenwon\\bin;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr
\\local\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\
\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Users\\keenwon\\bin;C:\\Windows\\system32
;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0;C:\\Progr
am Files\\Git\\cmd;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Users\\keenwon\\AppData\\Roaming
\\nvm;C:\\Program Files\\nodejs;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Users\\keenwon\\App
Data\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Program Files\\Git\\usr\\bin\\vendor_perl;C:\\Pr
ogram Files\\Git\\usr\\bin\\core_perl',
PATHEXT: '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',
PKG_CONFIG_PATH: '/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig',
PLINK_PROTOCOL: 'ssh',
PROCESSOR_ARCHITECTURE: 'AMD64',
PROCESSOR_IDENTIFIER: 'Intel64 Family 6 Model 142 Stepping 10, GenuineIntel',
PROCESSOR_LEVEL: '6',
PROCESSOR_REVISION: '8e0a',
ProgramData: 'C:\\ProgramData',
PROGRAMFILES: 'C:\\Program Files',
'ProgramFiles(x86)': 'C:\\Program Files (x86)',
ProgramW6432: 'C:\\Program Files',
PS1: '\\[\\033]0;$TITLEPREFIX:$PWD\\007\\]\\n\\[\\033[32m\\]\\u@\\h \\[\\033[35m\\]$MSYSTEM \\[
\\033[33m\\]\\w\\[\\033[36m\\]`__git_ps1`\\[\\033[0m\\]\\n$ ',
PSModulePath: 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\',
PUBLIC: 'C:\\Users\\Public',
PWD: '/c/Users/keenwon/Desktop/get-installed-path-test',
SESSIONNAME: 'Console',
SHELL: 'C:\\Program Files\\Git\\usr\\bin\\bash.exe',
SHLVL: '1',
SSH_ASKPASS: '/mingw64/libexec/git-core/git-gui--askpass',
SSLKEYLOGFILE: 'C:\\Users\\keenwon\\ssl-log.txt',
SYSTEMDRIVE: 'C:',
SYSTEMROOT: 'C:\\Windows',
TEMP: 'C:\\Users\\keenwon\\AppData\\Local\\Temp',
TMP: 'C:\\Users\\keenwon\\AppData\\Local\\Temp',
TMPDIR: 'C:\\Users\\keenwon\\AppData\\Local\\Temp',
USERDOMAIN: 'laptop-win7',
USERNAME: 'keenwon',
USERPROFILE: 'C:\\Users\\keenwon',
WINDIR: 'C:\\Windows',
windows_tracing_flags: '3',
windows_tracing_logfile: 'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log',
_: '/usr/bin/winpty' }
C:\Users\keenwon\Desktop\get-installed-path-test\node_modules\get-installed-path\dist\index.js:16
4
throw new Error(msg);
^
Error: get-installed-path: module not found "npm-check" in path C:\Users\keenwon\AppData\Roaming\
npm\node_modules\npm-check
at getInstalledPathSync (C:\Users\keenwon\Desktop\get-installed-path-test\node_modules\get-in
stalled-path\dist\index.js:164:11)
at Object.<anonymous> (C:\Users\keenwon\Desktop\get-installed-path-test\index.js:5:13)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
In addition, I use nvm-windows.
@keenwon, this probably won't make a difference since you're using nvm, but if you feel like hacking around to see if this works, you could try changing the path logic on this line to path.join(process.env.APPDATA, 'Roaming/npm').
This is a pattern we might want to start checking for either way.