summaryrefslogtreecommitdiff
path: root/deps/npm/lib/utils/error-handler.js
diff options
context:
space:
mode:
authorTimothy J Fontaine <tjfontaine@gmail.com>2014-08-07 16:33:35 -0700
committerTimothy J Fontaine <tjfontaine@gmail.com>2014-08-07 16:33:35 -0700
commita5778cdf01425ae39cea80b62f9ec6740aec724a (patch)
tree6b011b6046ca68ee33e2cd811048f3e40558d7d9 /deps/npm/lib/utils/error-handler.js
parent28eee0adb7884e21217c99cbf10a681c7d91b64a (diff)
parentb0277f35bd86d441255dc5a4c19e577e03f03a47 (diff)
downloadandroid-node-v8-a5778cdf01425ae39cea80b62f9ec6740aec724a.tar.gz
android-node-v8-a5778cdf01425ae39cea80b62f9ec6740aec724a.tar.bz2
android-node-v8-a5778cdf01425ae39cea80b62f9ec6740aec724a.zip
Merge remote-tracking branch 'upstream/v0.10' into v0.12
Conflicts: ChangeLog Makefile deps/uv/ChangeLog deps/uv/build.mk deps/uv/src/unix/darwin.c deps/uv/src/unix/getaddrinfo.c deps/uv/src/version.c deps/v8/src/checks.h deps/v8/src/isolate.h lib/cluster.js lib/module.js lib/timers.js lib/tls.js src/node_version.h
Diffstat (limited to 'deps/npm/lib/utils/error-handler.js')
-rw-r--r--deps/npm/lib/utils/error-handler.js30
1 files changed, 19 insertions, 11 deletions
diff --git a/deps/npm/lib/utils/error-handler.js b/deps/npm/lib/utils/error-handler.js
index feeec184cf..089c71228b 100644
--- a/deps/npm/lib/utils/error-handler.js
+++ b/deps/npm/lib/utils/error-handler.js
@@ -13,7 +13,7 @@ var cbCalled = false
process.on("exit", function (code) {
// console.error("exit", code)
- if (!npm.config.loaded) return
+ if (!npm.config || !npm.config.loaded) return
if (code) itWorked = false
if (itWorked) log.info("ok")
else {
@@ -46,7 +46,7 @@ process.on("exit", function (code) {
function exit (code, noLog) {
exitCode = exitCode || process.exitCode || code
- var doExit = npm.config.get("_exit")
+ var doExit = npm.config ? npm.config.get("_exit") : true
log.verbose("exit", [code, doExit])
if (log.level === "silent") noLog = true
@@ -71,7 +71,7 @@ function exit (code, noLog) {
function errorHandler (er) {
var printStack = false
// console.error("errorHandler", er)
- if (!npm.config.loaded) {
+ if (!npm.config || !npm.config.loaded) {
// logging won't work unless we pretend that it's ready
er = er || new Error("Exit prior to config file resolving.")
console.error(er.stack || er.message)
@@ -112,7 +112,6 @@ function errorHandler (er) {
break
case "ELIFECYCLE":
- er.code = "ELIFECYCLE"
log.error("", er.message)
log.error("", ["","Failed at the "+er.pkgid+" "+er.stage+" script."
,"This is most likely a problem with the "+er.pkgname+" package,"
@@ -126,7 +125,6 @@ function errorHandler (er) {
break
case "ENOGIT":
- er.code = "ENOGIT"
log.error("", er.message)
log.error("", ["","Failed using git."
,"This is most likely not a problem with npm itself."
@@ -135,7 +133,6 @@ function errorHandler (er) {
break
case "EJSONPARSE":
- er.code = "EJSONPARSE"
log.error("", er.message)
log.error("", "File: "+er.file)
log.error("", ["Failed to parse package.json data."
@@ -146,7 +143,6 @@ function errorHandler (er) {
break
case "E404":
- er.code = "E404"
var msg = [er.message]
if (er.pkgid && er.pkgid !== "-") {
msg.push("", "'"+er.pkgid+"' is not in the npm registry."
@@ -168,7 +164,6 @@ function errorHandler (er) {
break
case "EPUBLISHCONFLICT":
- er.code = "EPUBLISHCONFLICT"
log.error("publish fail", ["Cannot publish over existing version."
,"Update the 'version' field in package.json and try again."
,""
@@ -181,7 +176,6 @@ function errorHandler (er) {
break
case "EISGIT":
- er.code = "EISGIT"
log.error("git", [er.message
," "+er.path
,"Refusing to remove it. Update manually,"
@@ -190,7 +184,6 @@ function errorHandler (er) {
break
case "ECYCLE":
- er.code = "ECYCLE"
log.error("cycle", [er.message
,"While installing: "+er.pkgid
,"Found a pathological dependency case that npm cannot solve."
@@ -199,7 +192,6 @@ function errorHandler (er) {
break
case "EBADPLATFORM":
- er.code = "EBADPLATFORM"
log.error("notsup", [er.message
,"Not compatible with your operating system or architecture: "+er.pkgid
,"Valid OS: "+er.os.join(",")
@@ -268,6 +260,22 @@ function errorHandler (er) {
break
} // else passthrough
+ case "ENOSPC":
+ log.error("nospc", [er.message
+ ,"This is most likely not a problem with npm itself"
+ ,"and is related to insufficient space on your system."
+ ].join("\n"))
+ break
+
+ case "EROFS":
+ log.error("rofs", [er.message
+ ,"This is most likely not a problem with npm itself"
+ ,"and is related to the file system being read-only."
+ ,"\nOften virtualized file systems, or other file systems"
+ ,"that don't support symlinks, give this error."
+ ].join("\n"))
+ break
+
default:
log.error("", er.stack || er.message || er)
log.error("", ["If you need help, you may report this *entire* log,"