Install: warn about filesystem owner running npm v8+ as root

This commit is contained in:
Lovell Fuller 2022-05-15 19:43:45 +01:00
parent ee9cdb6598
commit 04c31b35a7
2 changed files with 4 additions and 2 deletions

View File

@ -43,7 +43,9 @@ const installationForced = !!(process.env.npm_config_sharp_install_force || proc
const fail = function (err) { const fail = function (err) {
libvips.log(err); libvips.log(err);
if (err.code === 'EACCES') { if (err.code === 'EACCES') {
libvips.log('Are you trying to install as a root or sudo user? Try again with the --unsafe-perm flag'); libvips.log('Are you trying to install as a root or sudo user?');
libvips.log('- For npm <= v6, try again with the "--unsafe-perm" flag');
libvips.log('- For npm >= v8, the user must own the directory "npm install" is run in');
} }
libvips.log('Please see https://sharp.pixelplumbing.com/install for required dependencies'); libvips.log('Please see https://sharp.pixelplumbing.com/install for required dependencies');
process.exit(1); process.exit(1);

View File

@ -13,7 +13,7 @@ try {
} else { } else {
const [platform, arch] = platformAndArch.split('-'); const [platform, arch] = platformAndArch.split('-');
help.push( help.push(
'- Install with the --verbose flag and look for errors: "npm install --ignore-scripts=false --verbose sharp"', '- Install with verbose logging and look for errors: "npm install --ignore-scripts=false --foreground-scripts --verbose sharp"',
`- Install for the current ${platformAndArch} runtime: "npm install --platform=${platform} --arch=${arch} sharp"` `- Install for the current ${platformAndArch} runtime: "npm install --platform=${platform} --arch=${arch} sharp"`
); );
} }