1. 程式人生 > 程式設計 >sharp.js安裝過程中遇到的問題總結

sharp.js安裝過程中遇到的問題總結

由於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 [email protected]

同步檔案

從本地複製到遠端
# 拷貝檔案
scp /home/test/test.txt [email protected]:/home/test/
# 拷貝目錄
scp -r /home/test/ [email protected]:/home/test/
從遠端複製到本地
# 拷貝檔案
scp [email protected]:/home/test/ /home/test/test.txt
# 拷貝目錄
scp -r [email protected]:/home/test/ v/home/test/

以上就是sharp.js安裝過程中遇到的問題總結的詳細內容,更多關於sharp.js安裝問題總結的資料請關注我們其它相關文章!