mirror of
https://github.com/pnpm/pnpm.git
synced 2025-12-23 23:29:17 -05:00
fix: pnpmHomeDir should read PNPM_HOME defined in environment variables (#5566)
This commit is contained in:
6
.changeset/wise-pugs-wave.md
Normal file
6
.changeset/wise-pugs-wave.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@pnpm/config": patch
|
||||
"pnpm": patch
|
||||
---
|
||||
|
||||
It should be possible to set a custom home directory for pnpm by changing the PNPM_HOME environment variable.
|
||||
@@ -297,7 +297,7 @@ export async function getConfig (
|
||||
}
|
||||
return undefined
|
||||
})()
|
||||
pnpmConfig.pnpmHomeDir = getDataDir(process)
|
||||
pnpmConfig.pnpmHomeDir = process.env.PNPM_HOME ?? getDataDir(process)
|
||||
|
||||
if (cliOptions['global']) {
|
||||
let globalDirRoot
|
||||
|
||||
@@ -971,3 +971,23 @@ test('do not return a warning if a package.json has workspaces field and there i
|
||||
})
|
||||
expect(warnings).toStrictEqual([])
|
||||
})
|
||||
|
||||
test('read PNPM_HOME defined in environment variables', async () => {
|
||||
const oldEnv = process.env
|
||||
const homeDir = './specified-dir'
|
||||
process.env = {
|
||||
...oldEnv,
|
||||
PNPM_HOME: homeDir,
|
||||
}
|
||||
|
||||
const { config } = await getConfig({
|
||||
cliOptions: {},
|
||||
packageManager: {
|
||||
name: 'pnpm',
|
||||
version: '1.0.0',
|
||||
},
|
||||
})
|
||||
expect(config.pnpmHomeDir).toBe(homeDir)
|
||||
|
||||
process.env = oldEnv
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user