1 | module.exports = setUser
|
2 |
|
3 | var Conf = require('../npmconf.js').Conf
|
4 | var assert = require('assert')
|
5 | var path = require('path')
|
6 | var fs = require('fs')
|
7 |
|
8 | function setUser (cb) {
|
9 | var defaultConf = this.root
|
10 | assert(defaultConf !== Object.prototype)
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | if (this.get("global")) return cb()
|
16 | if (process.env.SUDO_UID) {
|
17 | defaultConf.user = +(process.env.SUDO_UID)
|
18 | return cb()
|
19 | }
|
20 |
|
21 | var prefix = path.resolve(this.get("prefix"))
|
22 | fs.stat(prefix, function (er, st) {
|
23 | defaultConf.user = st && st.uid
|
24 | return cb(er)
|
25 | })
|
26 | }
|