Properly update npm to 1.1.0-3
Thanks @mscdex for spotting this.
This commit is contained in:
Родитель
ff0f0aeb40
Коммит
f98999cc16
|
@ -75,12 +75,15 @@ function install (args, cb_) {
|
|||
output = output || require("./utils/output.js")
|
||||
|
||||
var tree = treeify(installed)
|
||||
, pretty = prettify(tree, installed)
|
||||
, pretty = prettify(tree, installed).trim()
|
||||
|
||||
output.write(pretty, function (er) {
|
||||
if (pretty) output.write(pretty, afterWrite)
|
||||
else afterWrite()
|
||||
|
||||
function afterWrite (er) {
|
||||
if (er) return cb_(er)
|
||||
save(where, installed, tree, pretty, cb_)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// the /path/to/node_modules/..
|
||||
|
|
|
@ -210,3 +210,47 @@ if (!fs.lutimes) {
|
|||
fs.lutimesSync = function () {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// https://github.com/isaacs/node-graceful-fs/issues/4
|
||||
// Chown should not fail on einval or eperm if non-root.
|
||||
|
||||
fs.chown = chownFix(fs.chown)
|
||||
fs.fchown = chownFix(fs.fchown)
|
||||
fs.lchown = chownFix(fs.lchown)
|
||||
|
||||
fs.chownSync = chownFixSync(fs.chownSync)
|
||||
fs.fchownSync = chownFixSync(fs.fchownSync)
|
||||
fs.lchownSync = chownFixSync(fs.lchownSync)
|
||||
|
||||
function chownFix (orig) {
|
||||
if (!orig) return orig
|
||||
return function (target, uid, gid, cb) {
|
||||
return orig.call(fs, target, uid, gid, function (er, res) {
|
||||
if (chownErOk(er)) er = null
|
||||
cb(er, res)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function chownFixSync (orig) {
|
||||
if (!orig) return orig
|
||||
return function (target, uid, gid) {
|
||||
try {
|
||||
return orig.call(fs, target, uid, gid)
|
||||
} catch (er) {
|
||||
if (!chownErOk(er)) throw er
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function chownErOk (er) {
|
||||
// if there's no getuid, or if getuid() is something other than 0,
|
||||
// and the error is EINVAL or EPERM, then just ignore it.
|
||||
// This specific case is a silent failure in cp, install, tar,
|
||||
// and most other unix tools that manage permissions.
|
||||
// When running as root, or if other types of errors are encountered,
|
||||
// then it's strict.
|
||||
if (!er || (!process.getuid || process.getuid() !== 0)
|
||||
&& (er.code === "EINVAL" || er.code === "EPERM")) return true
|
||||
}
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
|
||||
"name": "graceful-fs",
|
||||
"description": "fs monkey-patching to avoid EMFILE and other problems",
|
||||
"version": "1.1.2",
|
||||
"version": "1.1.5",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/isaacs/node-graceful-fs.git"
|
||||
},
|
||||
"main": "graceful-fs.js",
|
||||
"engines": {
|
||||
"node": "0.4 || 0.5 || 0.6"
|
||||
"node": ">=0.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"fast-list": "1"
|
||||
|
|
Загрузка…
Ссылка в новой задаче