更新:

我实际发布了这个包,所以你可以自己看问题.

我正在尝试制作一个小的CLI工具并将其与作曲家打包在一起.

下面是该程序的一个非常简化的版本,但它足以证明我遇到的问题.

该项目有一个依赖项和一个“二进制”文件

composer.json

{

"name": "naomik/yamldump",

"version": "0.2.0",

"bin": [

"bin/yamldump"

],

"require": {

"symfony/yaml": "2.5.3"

}

}

斌/ yamldump

#!/usr/bin/env php

// use Yaml namespace

use Symfony\Component\Yaml as Yaml;

// autoload

require_once "vendor/autoload.php";

// read yaml

$yaml = file_get_contents(sprintf("%s/%s", getcwd(), $argv[1]));

// create parser

$parser = new Yaml\Parser();

// parse the yaml

var_dump($parser->parse($yaml));

因此,当我在全球范围内安装它时,我就明白了

$composer global require naomik/yamldump=dev-master

文件已安装到

>〜/ .composer / vendor / bin / yamldump – > ../naomik/yamldump/bin/yamldump

>〜/ .composer / vendor / naomik / yamldump /

>〜/ .composer / vendor / symfony / yaml /

这是一个问题,因为我不打算全局安装symfony / yaml,我的软件包的vendor / autoload.php无法在正确的位置找到Yaml软件包.

我不介意symfony / yaml是全局安装的,但是对我来说有意义的是,composer global require会安装这样的包:

>〜/ .composer / vendor / bin / yamldump – > ../naomik/yamldump/bin/yamldump

>〜/ .composer / vendor / naomik / yamldump /

>〜/ .composer / vendor / naomik / yamldump / vendor / symfony / yaml /

毕竟,如果我有依赖于symfony / yaml = 2.5.3的Package A和需要symfony / yaml = 2.6.x的Package B怎么办?

如果composer global要求安装〜/ .composer / vendor / *的依赖项,那么每个全局需要的包都无法维护它自己的依赖项版本要求……

我知道这是一个令人费解的问题,但我真的不知道如何开始修复它.

目标

用户应该能够

$composer global require naomik/yamldump=dev-master

$yamldump sample.yml

错误

$yamldump sample.yml

Warning: require_once(vendor/autoload.php): failed to open stream: No such file or directory in /Users/naomik/.composer/vendor/naomik/yamldump/bin/yamldump on line 8

Fatal error: require_once(): Failed opening required 'vendor/autoload.php' (include_path='.:') in /Users/naomik/.composer/vendor/naomik/yamldump/bin/yamldump on line 8

这个问题

这是黑色&白色:

我打算如何编写require“vendor / autoload.php”行并让它适用于本地安装的软件包和全局安装的软件包?

如何全局使用php composer,php – 如何配置要全局安装的composer包?相关推荐

  1. linux nginx rpm 安装配置,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  2. 3项目里面全局用less变量 cli vue_vue-cli3配置使用vw实现移动端适配案例

    前言:本demo是基于脚手架3创建的vue项目,主要演示的是如何使用vw实现移动端适配:并且在项目中如何引入自定义的less全局变量. 一. 配置vw适配: 1. 安装以下插件: npm instal ...

  3. 【愚公系列】2023年02月 WMS智能仓储系统-010.全局过滤、中间件、格式化配置

    文章目录 前言 一.全局过滤 1.全局行为过滤的概念 2.全局行为过滤的注册方式 2.1 方法注册 2.2 控制器注册 2.3 全局注册 2.4 TypeFilter 和 ServiceFilter ...

  4. 刷题小程序【程序猿面试宝典】开发(二)| 页面创建、页面配置、全局配置

    文章目录 1.创建页面 2.设置 tabBar 3.设置全局配置 window 4.设置页面相关配置 5.自定义全局CSS样式 6.自定义公共class样式 7.小试牛刀,全局设置页面背景色 8.结束 ...

  5. ribbon源码分析之自定义配置、全局配置

    在上一文EnableDiscoveryClient没用了?Zookeeper是怎么和springboot配合做服务注册中心的?讲过了zk是怎么做服务注册和服务发现的,同时在spring.factori ...

  6. vue.congfig.js配置less全局主题等样式变量

    vue.config.js配置less全局主题等样式变量 在vue项目中创建vue.config.js文件,写入一下代码 module.exports = {css: {loaderOptions: ...

  7. uni - app 的 pages.json 文件页面配置与全局配置

    1. 新建页面 pages 文件上右键新建页面 创建同名目录,注册 pages.json ,使用 scss 页面 页面新建完成: 且 pages.json 文件中已经注册,这个注册和 原生微信小程序 ...

  8. window php composer,Window下安装php composer

    composer是一个php的依赖管理工具,类似JVM环境中的maven,虽然mave的功能比composer强大得多. 安装时由于php没有安装openssl扩展,出现如下问题: 解决方案:修改ph ...

  9. php使用composer安装目录,Composer基本安装与使用

    一.下载composer.phar php -r "readfile('https://getcomposer.org/installer');" | php 下载结束,输入php ...

  10. php composer 安装,php composer的安装和使用

    Composer 是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. 一.ph ...

最新文章

  1. web App libraries跟referenced libraries的一些问题
  2. mysql数据库有几种连接方法_几种常见的数据库连接方法
  3. ubuntu更改用户名密码
  4. Encoding非常用编码转换
  5. Mysql解压版配置环境等
  6. 1.1介绍线程和运行(Introducing Thread and Runnable)
  7. 移动应用UI设计模式pdf
  8. python模块_python模块介绍
  9. 什么是单页面应用SPA?和多页面应用的区别?
  10. char与signed char, unsigned char的区别
  11. iOS App处于后台/被杀死的状态仍可进行语言播报的实现 (适配iOS12.1 ,iOS15的本地通知功能)
  12. task_struct结构
  13. 数据结构与算法是什么?
  14. android解锁屏幕大师,锁屏这样玩才高端 应用推荐《锁屏大师》
  15. 华为rh2288v2服务器系统,华为RH2288H V2服务器外部简介_华为 FusionServer RH2288 V2_服务器评测与技术-中关村在线...
  16. Docker 问题集锦(16) - ERROR: for * Cannot start service *: Could not attach to network
  17. 陶闯博士超级对话:互联网的终极进化——从物理世界到数实世界
  18. Java后端学习路线,零基础这样学
  19. 换晶振导致stm32串口数据飞码的解决办法
  20. python3 reverse() reversed()

热门文章

  1. Flex 与 Asp.Net 通过 Remoting 方式进行通讯 (三)
  2. 综合布线屏蔽系统的现状与应用
  3. 15条经典实用的网站优化技巧
  4. PS中rename-item的一些高级应用
  5. Qt程序实现自动重启
  6. springboot logback 调整 mybatis 日志级别无效
  7. javaSE基础之字符串
  8. android 进程池 参数,Android 线程池全解析
  9. 迅雷java_Java实现迅雷地址转成普通地址
  10. 【转】响应式布局和自适应布局详解