mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 10:30:15 +02:00
Use copy+unlink if rename fails during install #1345
This commit is contained in:
parent
a15a9b956b
commit
ece111280b
@ -4,6 +4,11 @@
|
|||||||
|
|
||||||
Requires libvips v8.6.1.
|
Requires libvips v8.6.1.
|
||||||
|
|
||||||
|
#### v0.20.7 - TBD
|
||||||
|
|
||||||
|
* Use copy+unlink if rename operation fails during installation.
|
||||||
|
[#1345](https://github.com/lovell/sharp/issues/1345)
|
||||||
|
|
||||||
#### v0.20.6 - 20<sup>th</sup> August 2018
|
#### v0.20.6 - 20<sup>th</sup> August 2018
|
||||||
|
|
||||||
* Add removeAlpha operation to remove alpha channel, if any.
|
* Add removeAlpha operation to remove alpha channel, if any.
|
||||||
|
@ -9,6 +9,7 @@ const npmLog = require('npmlog');
|
|||||||
const semver = require('semver');
|
const semver = require('semver');
|
||||||
const simpleGet = require('simple-get');
|
const simpleGet = require('simple-get');
|
||||||
const tar = require('tar');
|
const tar = require('tar');
|
||||||
|
const copyFileSync = require('fs-copy-file-sync');
|
||||||
|
|
||||||
const agent = require('../lib/agent');
|
const agent = require('../lib/agent');
|
||||||
const libvips = require('../lib/libvips');
|
const libvips = require('../lib/libvips');
|
||||||
@ -82,7 +83,14 @@ try {
|
|||||||
response.pipe(tmpFile);
|
response.pipe(tmpFile);
|
||||||
});
|
});
|
||||||
tmpFile.on('close', function () {
|
tmpFile.on('close', function () {
|
||||||
fs.renameSync(tarPathTemp, tarPathCache);
|
try {
|
||||||
|
// Attempt to rename
|
||||||
|
fs.renameSync(tarPathTemp, tarPathCache);
|
||||||
|
} catch (err) {
|
||||||
|
// Fall back to copy and unlink
|
||||||
|
copyFileSync(tarPathTemp, tarPathCache);
|
||||||
|
fs.unlinkSync(tarPathTemp);
|
||||||
|
}
|
||||||
extractTarball(tarPathCache);
|
extractTarball(tarPathCache);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user