您好,登錄后才能下訂單哦!
由于Sharp基于C++的libvips庫來實現,本地Mac開發完后在部署時安裝sharp模塊時會基于測試環境Liunx平臺編譯安裝,測試環境安裝時發現請求github下載libvips-8.9.1-linux-x64.tar.gz,所以只能失敗告終。后來看源碼和文檔發現sharp項目考慮周到優先使用緩存和使用sharp_dist_base_url參數,這樣可以先將libvips-8.9.1-linux-x64.tar.gz下載到內網。
npm緩存路徑使用npm config get cache 查詢。新建_libvips,把libvips-8.9.0-linux-x64.tar.gz放進去。
Using cached /root/.npm/_libvips/libvips-8.9.0-linux-x64.tar.gz,這樣安裝時就不會再請求了。
npm config set sharp_dist_base_url "https://hostname/path/"
或者 SHARP_DIST_BASE_URL=http://172.20.x.x npm i --unsafe-perm --allow-root
表面上看使用以上方法解決請求不到依賴包的問題事情就搞定了,但遠沒這么簡單。
由于需要Liunx環境來安裝編譯sharp,自然想到用虛擬機或Docker,通過Parallels Desktop安裝下載好的CentOS-8.1.1911-x86_64-boot.iso,提示無法識別鏡像,沒道理啊。
后來多次嘗試發現可選擇其它選擇中的默認Linux來安裝但啟動不了系統,研究一翻把CD-ROM啟動指向到CentOS-8.1.1911-x86_64-boot.iso重啟就能使用CDROM來啟動安裝CentOS。
安裝完系統心想這下應該完美解決了,直接就上npm i sharp ,事情到這又是一堆error,又遇到npm安裝異常報錯,記錄如下。
1、gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
解決:npm config set python /path/to/executable/python2.7
2、stack Error: EACCES: permission denied, mkdir
由于安裝Linux使用的用戶root賬戶,也遇到異常提示。為了避免這種情況,專門建一個用于運行 npm 的高權限用戶;要么加 --unsafe-perm 參數,這樣就不會切換到 nobody 。
解決:npm i --unsafe-perm --allow-root
3、前面講過由于安裝sharp需要編譯C++ libvips,需要node-gyp
解決:npm install --global node-gyp
4、Error make:g++:not find
Linux安裝后沒有make需要安裝
解決:yum install -y make gcc-c++
5、sudo npm install 提示 sudo: npm:找不到命令。
由于npm和node是解壓安裝沒有安裝到系統/use/bin下,所以通過軟鏈解決
解決:
ln -s /home/soft/node-v10.6.0/bin/npm /usr/bin/npm
ln -s /home/soft/node-v10.6.0/bin/np /usr/bin/node
6、Mac 訪問Parallels Desktop虛擬機Linux
在虛擬機中使用ifconfig查詢IP后回到Mac登錄到Linux
ssh root@10.211.x.x
同步文件
從本地復制到遠程
# 拷貝文件
scp /home/test/test.txt root@192.168.0.2:/home/test/
# 拷貝目錄
scp -r /home/test/ root@192.168.0.2:/home/test/
從遠程復制到本地
# 拷貝文件
scp root@192.168.0.2:/home/test/ /home/test/test.txt
# 拷貝目錄
scp -r root@192.168.0.2:/home/test/ v/home/test/
以上就是sharp.js安裝過程中遇到的問題總結的詳細內容,更多關于sharp.js安裝問題總結的資料請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。