diff options
author | isaacs <i@izs.me> | 2019-08-06 09:53:43 -0700 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2019-08-20 13:40:44 -0700 |
commit | f76903433f438db2822c40ba46451ccc3ec88fc2 (patch) | |
tree | 75cc8f7db61911ca39a75ccd0c1c1e16291a4a00 /deps/npm/lib/utils/error-message.js | |
parent | edc83a9203c2a8d0fd219aac95fd1615e001c484 (diff) | |
download | android-node-v8-f76903433f438db2822c40ba46451ccc3ec88fc2.tar.gz android-node-v8-f76903433f438db2822c40ba46451ccc3ec88fc2.tar.bz2 android-node-v8-f76903433f438db2822c40ba46451ccc3ec88fc2.zip |
deps: update npm to 6.10.3
BUGFIXES
* [`27cccfbda`](https://github.com/npm/cli/commit/27cccfbdac8526cc807b07f416355949b1372a9b)
[#223](https://github.com/npm/cli/pull/223) vulns → vulnerabilities in
npm audit output ([@sapegin](https://github.com/sapegin))
* [`d5e865eb7`](https://github.com/npm/cli/commit/d5e865eb79329665a927cc2767b4395c03045dbb)
[#222](https://github.com/npm/cli/pull/222)
[#226](https://github.com/npm/cli/pull/226) install, doctor: don't crash
if registry unset ([@dmitrydvorkin](https://github.com/dmitrydvorkin),
[@isaacs](https://github.com/isaacs))
* [`5b3890226`](https://github.com/npm/cli/commit/5b389022652abeb0e1c278a152550eb95bc6c452)
[#227](https://github.com/npm/cli/pull/227)
[npm.community#9167](https://npm.community/t/npm-err-cb-never-called-permission-denied/9167/5)
Handle unhandledRejections, tell user what to do when encountering an
`EACCES` error in the cache. ([@isaacs](https://github.com/isaacs))
DEPENDENCIES
* [`77516df6e`](https://github.com/npm/cli/commit/77516df6eac94a6d7acb5e9ca06feaa0868d779b)
`licensee@7.0.3` ([@isaacs](https://github.com/isaacs))
* [`ceb993590`](https://github.com/npm/cli/commit/ceb993590e4e376a9a78264ce7bb4327fbbb37fe)
`query-string@6.8.2` ([@isaacs](https://github.com/isaacs))
* [`4050b9189`](https://github.com/npm/cli/commit/4050b91898c60e9b22998cf82b70b9b822de592a)
`hosted-git-info@2.8.2`
* [#46](https://github.com/npm/hosted-git-info/issues/46)
[#43](https://github.com/npm/hosted-git-info/issues/43)
[#47](https://github.com/npm/hosted-git-info/pull/47)
[#44](https://github.com/npm/hosted-git-info/pull/44) Add support for
GitLab subgroups ([@mterrel](https://github.com/mterrel),
[@isaacs](https://github.com/isaacs),
[@ybiquitous](https://github.com/ybiquitous))
* [`3b1d629`](https://github.com/npm/hosted-git-info/commit/3b1d629)
[#48](https://github.com/npm/hosted-git-info/issues/48) fix http
protocol using sshurl by default
([@fengmk2](https://github.com/fengmk2))
* [`5d4a8d7`](https://github.com/npm/hosted-git-info/commit/5d4a8d7)
ignore noCommittish on tarball url generation
([@isaacs](https://github.com/isaacs))
* [`1692435`](https://github.com/npm/hosted-git-info/commit/1692435)
use gist tarball url that works for anonymous gists
([@isaacs](https://github.com/isaacs))
* [`d5cf830`](https://github.com/npm/hosted-git-info/commit/d5cf8309be7af884032616c63ea302ce49dd321c)
Do not allow invalid gist urls ([@isaacs](https://github.com/isaacs))
* [`e518222`](https://github.com/npm/hosted-git-info/commit/e5182224351183ce619dd5ef00019ae700ed37b7)
Use LRU cache to prevent unbounded memory consumption
([@iarna](https://github.com/iarna))
PR-URL: https://github.com/nodejs/node/pull/29023
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'deps/npm/lib/utils/error-message.js')
-rw-r--r-- | deps/npm/lib/utils/error-message.js | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/deps/npm/lib/utils/error-message.js b/deps/npm/lib/utils/error-message.js index bf5d65c0df..ea8b05938c 100644 --- a/deps/npm/lib/utils/error-message.js +++ b/deps/npm/lib/utils/error-message.js @@ -2,6 +2,7 @@ var npm = require('../npm.js') var util = require('util') var nameValidator = require('validate-npm-package-name') +var npmlog = require('npmlog') module.exports = errorMessage @@ -33,18 +34,42 @@ function errorMessage (er) { case 'EACCES': case 'EPERM': - short.push(['', er]) - detail.push([ - '', - [ - '\nThe operation was rejected by your operating system.', - (process.platform === 'win32' - ? 'It\'s possible that the file was already in use (by a text editor or antivirus),\nor that you lack permissions to access it.' - : 'It is likely you do not have the permissions to access this file as the current user'), - '\nIf you believe this might be a permissions issue, please double-check the', - 'permissions of the file and its containing directories, or try running', - 'the command again as root/Administrator (though this is not recommended).' - ].join('\n')]) + const isCachePath = typeof er.path === 'string' && + er.path.startsWith(npm.config.get('cache')) + const isCacheDest = typeof er.dest === 'string' && + er.dest.startsWith(npm.config.get('cache')) + + const isWindows = process.platform === 'win32' + + if (!isWindows && (isCachePath || isCacheDest)) { + // user probably doesn't need this, but still add it to the debug log + npmlog.verbose(er.stack) + short.push([ + '', + [ + '', + 'Your cache folder contains root-owned files, due to a bug in', + 'previous versions of npm which has since been addressed.', + '', + 'To permanently fix this problem, please run:', + ` sudo chown -R ${process.getuid()}:${process.getgid()} ${JSON.stringify(npm.config.get('cache'))}` + ].join('\n') + ]) + } else { + short.push(['', er]) + detail.push([ + '', + [ + '\nThe operation was rejected by your operating system.', + (process.platform === 'win32' + ? 'It\'s possible that the file was already in use (by a text editor or antivirus),\n' + + 'or that you lack permissions to access it.' + : 'It is likely you do not have the permissions to access this file as the current user'), + '\nIf you believe this might be a permissions issue, please double-check the', + 'permissions of the file and its containing directories, or try running', + 'the command again as root/Administrator.' + ].join('\n')]) + } break case 'ELIFECYCLE': |