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 相关文章推荐
共享自己写一个框架DreamScript
Jan 20 Javascript
js 对象是否存在判断
Jul 15 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
Jun 08 Javascript
JavaScript每天必学之事件
Sep 18 Javascript
javascript 数组去重复(在线去重工具)
Dec 17 Javascript
基于input框覆盖掉数字英文的实例讲解
Jul 21 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
vue v-for直接循环数字实例
Nov 07 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
Jan 16 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代码(抓取网页中的邮箱地址)
2012/07/17 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
js实现表格筛选功能
2017/01/18 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
详解如何webpack使用DllPlugin
2018/09/30 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
如何在JavaScript中使用localStorage详情
2021/02/04 Javascript
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
Python实现命令行通讯录实例教程
2016/08/18 Python
python 计算文件的md5值实例
2017/01/13 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
Python实现的knn算法示例
2018/06/14 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
Python和Bash结合在一起的方法
2020/11/13 Python
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
《神奇的克隆》教学反思
2014/04/10 职场文书
生物工程专业求职信
2014/09/03 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
婚礼父母答谢词
2015/01/04 职场文书
大学学生会辞职信
2015/05/13 职场文书
创业计划书详解
2019/07/19 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书