sharp.js安装时遇到依赖问题,如何解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计768个文字,预计阅读时间需要4分钟。
由于Sharp库是基于C++的libvips库实现的,在本地Mac开发完成后,部署时安装sharp模块会基于测试环境Linux平台编译安装。测试环境安装过程中,若发现请求GitHub下载libvips-8.9.1-linux-x64.tar.gz失败,请检查网络连接。
由于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 "hostname/path/"
或者 SHARP_DIST_BASE_URL=172.20.x.x npm i --unsafe-perm --allow-root
表面上看使用以上方法解决请求不到依赖包的问题事情就搞定了,但远没这么简单。
本文共计768个文字,预计阅读时间需要4分钟。
由于Sharp库是基于C++的libvips库实现的,在本地Mac开发完成后,部署时安装sharp模块会基于测试环境Linux平台编译安装。测试环境安装过程中,若发现请求GitHub下载libvips-8.9.1-linux-x64.tar.gz失败,请检查网络连接。
由于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 "hostname/path/"
或者 SHARP_DIST_BASE_URL=172.20.x.x npm i --unsafe-perm --allow-root
表面上看使用以上方法解决请求不到依赖包的问题事情就搞定了,但远没这么简单。

