Index: lib/config/core.js --- lib/config/core.js.orig 2017-11-28 04:37:46.000000000 +0100 +++ lib/config/core.js 2017-11-28 19:57:20.298797000 +0100 @@ -297,7 +297,7 @@ fs.writeFile(target.path, data, 'utf8', function (er) { if (er) return then(er) if (where === 'user' && myUid && myGid) { - fs.chown(target.path, +myUid, +myGid, then) + then() } else { then() } Index: lib/npm.js --- lib/npm.js.orig 2017-11-28 04:37:46.000000000 +0100 +++ lib/npm.js 2017-11-28 19:57:20.299013000 +0100 @@ -410,9 +410,7 @@ Object.defineProperty(npm, 'globalDir', { get: function () { - return (process.platform !== 'win32') - ? path.resolve(npm.globalPrefix, 'lib', 'node_modules') - : path.resolve(npm.globalPrefix, 'node_modules') + return path.resolve(npm.globalPrefix, 'lib', 'node', 'usr') }, enumerable: true }) Index: lib/search/all-package-metadata.js --- lib/search/all-package-metadata.js.orig 2017-11-28 04:37:46.000000000 +0100 +++ lib/search/all-package-metadata.js 2017-11-28 19:57:20.299219000 +0100 @@ -3,7 +3,6 @@ var fs = require('graceful-fs') var path = require('path') var mkdir = require('mkdirp') -var chownr = require('chownr') var npm = require('../npm.js') var log = require('npmlog') var cacheFile = require('npm-cache-filename') @@ -240,7 +239,7 @@ if (er) return cb(er) mkdir(cacheBase, function (er, made) { if (er) return cb(er) - chownr(made || cacheBase, st.uid, st.gid, cb) + cb(null) }) }) } Index: lib/unbuild.js --- lib/unbuild.js.orig 2017-11-28 04:37:46.000000000 +0100 +++ lib/unbuild.js 2017-11-28 20:00:23.989689000 +0100 @@ -96,7 +96,7 @@ !npm.config.get('global')) { return cb() } - var manRoot = path.resolve(npm.config.get('prefix'), 'share', 'man') + var manRoot = path.resolve(npm.config.get('prefix'), 'man') log.verbose('rmMans', 'man files are', pkg.man, 'in', manRoot) asyncMap(pkg.man, function (man, cb) { if (Array.isArray(man)) { Index: lib/utils/correct-mkdir.js --- lib/utils/correct-mkdir.js.orig 2017-11-28 04:37:46.000000000 +0100 +++ lib/utils/correct-mkdir.js 2017-11-28 19:57:20.299397000 +0100 @@ -1,4 +1,3 @@ -var chownr = require('chownr') var dezalgo = require('dezalgo') var fs = require('graceful-fs') var inflight = require('inflight') @@ -116,8 +115,5 @@ } function setPermissions (path, st, cb) { - chownr(path, st.uid, st.gid, function (er) { - if (er && er.code === 'ENOENT') return cb(null, st) - return cb(er, st) - }) + cb(null, st) } Index: node_modules/bin-links/index.js --- node_modules/bin-links/index.js.orig 2017-11-28 04:37:46.000000000 +0100 +++ node_modules/bin-links/index.js 2017-11-28 20:00:56.752077000 +0100 @@ -151,7 +151,7 @@ function linkMans (pkg, folder, parent, gtop, opts, cb) { if (!pkg.man || !gtop || process.platform === 'win32') return cb() - var manRoot = path.resolve(opts.prefix, 'share', 'man') + var manRoot = path.resolve(opts.prefix, 'man') opts.log.verbose('linkMans', 'man files are', pkg.man, 'in', manRoot) // make sure that the mans are unique. Index: node_modules/npm-lifecycle/index.js --- node_modules/npm-lifecycle/index.js.orig 2017-11-28 04:37:46.000000000 +0100 +++ node_modules/npm-lifecycle/index.js 2017-11-28 19:57:20.299620000 +0100 @@ -161,7 +161,6 @@ if (cfgsetting === 'warn-only') { if (isDifferentNodeInPath && !shouldPrependCurrentNodeDirToPATH.hasWarned) { if (foundExecPath) { - opts.log.warn('lifecycle', 'The node binary used for scripts is', foundExecPath, 'but npm is using', process.execPath, 'itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.') } else { opts.log.warn('lifecycle', 'npm is using', process.execPath, 'but there is no node binary in the current PATH. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.') }