ubuntu云服務(wù)器安裝nodejs圖片處理工具sharp失敗問題解決方法

問題來源

由于圖片體積太大,首次加載頁面速度過慢,于是想對圖片進(jìn)行壓縮(這里對圖片進(jìn)行處理是在后臺進(jìn)行的),
后面找到了兩款款插件,我的項(xiàng)目使用第二款:
1.gm
2.sharp
開始項(xiàng)目是運(yùn)行在window環(huán)境下的,沒有出現(xiàn)任何問題,但我部署到ubuntu云服務(wù)器,并使用npm i初始化項(xiàng)目時報出以下錯誤:

bf31cb9bfcf08e46c6c57ec246cc0b4.png

報錯原因

npm install 相關(guān)的文件系統(tǒng)權(quán)限問題

解決方法

只需在項(xiàng)目運(yùn)行以下命令,即可解決問題。
npm install --unsafe-perm

npm install --unsafe-perm的參數(shù)--unsafe-perm有什么作用,在網(wǎng)上查了一下

是怎么說的,npm 出于安全考慮不支持以 root 用戶運(yùn)行,即使你用 root 用戶身份運(yùn)行了,npm 會自動轉(zhuǎn)成一個叫 nobody 的用戶來運(yùn)行,而這個用戶幾乎沒有任何權(quán)限。這樣的話如果你腳本里有一些需要權(quán)限的操作,比如寫文件(尤其是寫 /root/.node-gyp),就會崩掉了。

為了避免這種情況,要么按照 npm 的規(guī)矩來,專門建一個用于運(yùn)行 npm 的高權(quán)限用戶;要么加 --unsafe-perm 參數(shù),這樣就不會切換到 nobody 上,運(yùn)行時是哪個用戶就是哪個用戶,即使是 root。

我的解決方案來自https://github.com/lovell/sharp/issues/1627,這篇文章只是對自己的問題進(jìn)行一個總結(jié)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 如以上DEMO截圖所示效果,我們對于這種類似的功能肯定不算陌生,因?yàn)檫@可以說是實(shí)際開發(fā)中一類非常常見的功能需求了。...
    Machivellia閱讀 2,627評論 1 13
  • 今天晚上有個孩子問我:“這么辛苦干嘛?” ,我回答到:值得,快樂!其實(shí)我想要的就是充實(shí)自己,快樂自己,過好每一天!...
    C梅花香自苦寒來閱讀 239評論 0 1
  • 我生于一個普通的家庭,是一個獨(dú)生子女,從小到大都是在村里長大的。因?yàn)槌砷L環(huán)境的緣故,自己和別人相比,不僅眼界格局很...
    韋程豪閱讀 185評論 0 0
  • 翻譯程序:把一種語言翻譯成另一種語言編譯程序:把高級語言全部翻譯成目標(biāo)程序解釋程序:翻譯完一條高級語言就執(zhí)行,完成...
    T_X_J閱讀 224評論 0 0
  • 我的手已斑駁不堪 腳趾如春筍般撐破鞋面 就剩這一雙眼還沒怎么變 一半白一半黑 白的一半看盡黑夜 黑的一半色彩斑斕 ...
    那晚風(fēng)輕閱讀 725評論 0 0

友情鏈接更多精彩內(nèi)容