sharp.js安装过程中遇到的问题总结


Posted in Javascript onApril 02, 2020

由于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安装问题总结的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
JavaScript实现Sleep函数的代码
Mar 04 Javascript
url地址自动加#号问题说明
Aug 21 Javascript
eval与window.eval的差别分析
Mar 17 Javascript
超轻量级的基于jquery的三级展开列表
Apr 26 Javascript
25个非常棒的jQuery滑块插件和教程小结
Sep 02 Javascript
js中parseInt函数浅谈
Jul 31 Javascript
javascript自定义startWith()和endWith()的两种方法
Nov 11 Javascript
原生js和jQuery写的网页选项卡特效对比
Apr 27 Javascript
jQuery实现hover合成事件的方法
Aug 06 Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 Javascript
JS实现京东商品分类侧边栏
Dec 11 Javascript
vuex的使用步骤
Jan 06 Vue.js
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
Apr 01 #jQuery
Selenium执行Javascript脚本参数及返回值过程详解
Apr 01 #Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
Apr 01 #Javascript
js实现数据导出为EXCEL(支持大量数据导出)
Mar 31 #Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
Mar 31 #Javascript
Vue-router 报错NavigationDuplicated的解决方法
Mar 31 #Javascript
js实现整体缩放页面适配移动端
Mar 31 #Javascript
You might like
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
php树型类实例
2014/12/05 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
JS构造一个html文本内容成文件流形式发送到后台
2018/07/31 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
python使用cPickle模块序列化实例
2014/09/25 Python
Python对象转JSON字符串的方法
2016/04/27 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
Emma Bridgewater官网:英国餐具制造商
2019/11/24 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
大专会计自我鉴定
2014/02/06 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
小学评语大全
2014/04/22 职场文书
学校校庆演讲稿
2014/05/22 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers