出于安全考慮,npm不支持以 root 用戶運(yùn)行粉臊,即使你用 root 用戶身份運(yùn)行了草添,npm 會(huì)自動(dòng)轉(zhuǎn)成一個(gè)叫 nobody 的用戶來運(yùn)行,而這個(gè)用戶幾乎沒有任何權(quán)限扼仲。這樣的話如果你腳本里有一些需要權(quán)限的操作远寸,比如寫文件(尤其是寫 /root/.node-gyp),就會(huì)崩掉了屠凶。
為了避免這種情況驰后,要么按照 npm 的規(guī)矩來,專門建一個(gè)用于運(yùn)行 npm 的高權(quán)限用戶矗愧;要么加 --unsafe-perm 參數(shù)灶芝,這樣就不會(huì)切換到 nobody 上,運(yùn)行時(shí)是哪個(gè)用戶就是哪個(gè)用戶唉韭,即使是 root夜涕。
npm i --unsafe-perm