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 相关文章推荐
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
Nov 30 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 Javascript
JavaScript中的View-Model使用介绍
Aug 11 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
Oct 11 Javascript
Javascript递归打印Document层次关系实例分析
May 15 Javascript
大型JavaScript应用程序架构设计模式
Jun 29 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
Aug 25 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
fullPage.js和CSS3实现全屏滚动效果
May 05 Javascript
JS选取DOM元素常见操作方法实例分析
Dec 10 Javascript
通过js随机函数Math.random实现乱序
May 19 Javascript
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
PHP 转义使用详解
2013/07/15 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
JS方法调用括号的问题探讨
2014/01/24 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
45个JavaScript编程注意事项、技巧大全
2015/02/11 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
python&MongoDB爬取图书馆借阅记录
2016/02/05 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
Python远程方法调用实现过程解析
2020/07/28 Python
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
南京软件公司的.net程序员笔试题
2014/08/31 面试题
领导班子四风表现材料
2014/08/23 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
社区服务活动报告
2015/02/05 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
信用卡催款律师函
2015/05/27 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
小组口号霸气押韵
2015/12/24 职场文书
小学班级口号大全
2015/12/25 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
mysql脏页是什么
2021/07/26 MySQL
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL