美文网首页我爱编程
eo_linker 部署填坑记录

eo_linker 部署填坑记录

作者: 大香蕉s | 来源:发表于2018-04-10 23:43 被阅读0次

背景:头头让我部署一个 eo_linker api 管理工具的开源版。我要对其进行编译部署,以便进行二次开发

服务器环境: centos

部署步骤:

  1. 下载源码 :https://github.com/eolinker/eoLinker-AMS-3.5.1-for-PHP

  2. 后端的代码不用改,直接可以运行

  3. 前端采用 Angular。

坑来了

坑都集中在前端源码的编译上。

  1. readme 文档无信息:根据前端源码的 readme 文档, 并没有介绍编译的步骤。

  2. 包安装失败

    • 万事无脑先来一遍 npm install。然鹅,报错!
    • 换一个 cnpm install, 一样报错。
    • 只能换 yarn 试试。
  3. 安装 yarn 失败:

    • 因为服务器没装 yarn ,故根据 yarn 官方文档安装 yarn。
    • 安装结果报错,报错信息是:required nodejs,我他喵 node 都装了几年了
    • /usr/local/bin 下建了软链接链到 node 命令,这样终端打 nodejs 就跟能调出 node 了。
    • 再次安装 yarn ,结果还是找不到 nodejs 失败,猝,放弃。
  4. 分析 npm install 报错信息

    • 回过头来看 npm install 的报错信息,node-sass 模块下载失败
    • 搜索下,网上说 node-sass 的地址经常抽风,换成淘宝的地址试试。
    • 还是不行,经过一番艰辛的排查,发现是 package.json 中要求的 xx 包所依赖的 node-sass 版本不支持 node8 以上

现在有两条路可以走,一是升级 node-sass 版本(但是可能会让项目跑不了);二是安装 node7 (但是服务器上跑的 node 服务都是基与 node8 的,降到 node7 可能会出问题)

  1. 安装多个 node 版本

    • 经过思考比较,最终选择安装不同版本 node 的方案
    • 既要存在 node7 也要保留当前的 node8,调查后发现有以下几个方案
      1. n 管理(最终选择了该方案,方便快速,但不是最佳方案,最佳应该是运行项目,自动选择 node7)
      2. nvm 管理
      3. docker 技术
    • 最终解决了 npm install 失败的问题。
  2. npm run build 失败

    • 看到 package.json 文件中有 build 的指令,就跑了下,结果失败。
    • 看了 build 的指令 "build": "babel src -d lib",坑阿,这只是用 babel 转下 src 文件,并不是 build
  3. 终于找到前端部署的官方文档

    • 在经历了一定艰苦奋战后,我才想起谷歌。去搜索了一番,找来了官方二次开发的文档
    • 原来这坑爹的官方文档在他的 2.0 版本的 readme 中(我装的是 3.5 版)
    • 根据文档,我还要 bower install (bower 又是什么鬼)
  4. bower install 失败

    • 根据报错信息提示,git 有问题,网上搜了下: git 版本太低
    • 安装最新 git 版本,下载源码编译安装,等了很久,终于安装好
    • 再次 bower install ,结果失败,报错信息是下载 github 包失败,推测原因是没有把本机公钥添加到 github 帐户上,git clone 失败,于是把本机公钥添加到 github 帐户上。在服务器随便 git clone 一个包成功
    • 再次 bower install ,结果失败。报错信息 git ssl connect error。网上搜了几个解法方案,最终配置下 git:git config –global http.sslversion tlsv1.

填坑之路结束

后面思考补充下从此次填坑之旅学到了什么。

相关文章

  • eo_linker 部署填坑记录

    背景:头头让我部署一个 eo_linker api 管理工具的开源版。我要对其进行编译部署,以便进行二次开发 服务...

  • 2018-09-06--ActiveAndroid在8.0权限问

    ActiveAndroid填坑记录: 坑--------》使用ActiveAndroid数据库在系统8.0(华为、...

  • node+mongodb+redis服务器部署过程

    记录了自己部署服务器的过程 中间挖了好多坑 一步步填完后记录下来 1. git centos 2. nvm cur...

  • airflow 安装,部署,填坑

    阅读本文大约需要 8 分钟。 上一篇文章已经介绍过 airflow ,相信需要的人早已上网搜索相关资料,已经开始动...

  • swift填坑记录

    使用Cocoapods时,Swift无法同时在podfile文件中使用OC和Swift的SDK 【引用】https...

  • swagger 填坑记录

    启动失败:NullPointerException 原因主要是swagger旧版本的bug与,解决方案:swagg...

  • Android填坑记录

    主要记录Android开发当中一些容易引起错误的,又不容易发现的问题。 Activity方面 1,onWindow...

  • Android 填坑记录

    1.使用Fresco时,根据图片url获取缓存文件 2.使用Fresco时,如何实现缩放效果(PhotoView)...

  • Vue填坑记录

    记录使用Vue 2.6.11过程中遇到的一些问题及其解决办法 vue和vue-template-compile的版...

  • Echarts填坑记录

    最近项目有个月报分析,里边用到了柱状图,堆叠图,环形图,饼图,折线图这几种基本图表。自己封装的chart组件: 问...

网友评论

    本文标题:eo_linker 部署填坑记录

    本文链接:https://www.haomeiwen.com/subject/qgpnhftx.html