[哈菜系列一] 私有包怎么部署到 Laravel

缘由

为什么叫哈菜...因为本人英文名叫哈里,属于菜鸟,于是就有了哈菜。
为什么会想写哈菜...一个没啥PHP基础且属于Laravel新兵,但是在PHPHubslack中得到诸位高手帮助解决了一个又一个问题,觉得或许之后会能给到自己备忘,也可以提醒遇到相同问题的同学,于是就厚脸皮写下来了..

如果您觉得此问题太菜,请随意路过或拍砖^^


目的

想调用scrapyscrapyd蜘蛛守护进程,于是找到了etngGitHub上的php调用接口代码 。(鄙人属于懒人加菜鸟只能到处借鉴了)。
问题来了,如何把一个packgist上没有的东东部署到Laravel项目里?


思路

首先,必须知道composer的大致介绍。中文版在这里
其次,关于composer编译后的map存在vendor/composer目录下,看到这个相信大家就豁然开朗了,每个composer.json中的配置,都会在这边具体映射。
最后,只需要解决怎么把包的映射关系加进去就好啦。


解法

三步搞定:

  1. 将该包放到Laravel项目任意目录下,这里用vendor/etng/scrapyd/src
  2. 修改根目录下的composer.json,找到autoload相关代码块:
"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},

psr-4新增一段配置:"EtngScrapyd":"vendor/etng/scrapyd/src"

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/",
        "EtngScrapyd":"vendor/etng/scrapyd/src"

    }
},
  1. 在根目录运行composer update更新composer map关系即可。

参考文献

  1. Composer 中文介绍
  2. 百度知道中的composer包建立过程
本帖已被设为精华帖!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6
Summer

多谢分享.

9年前 评论
hareluya

谢谢各位大神指教~ 等项目完成,我来修正下这个^^

9年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!