【问题标题】:Composer doesn't create symbolic link to bin scriptComposer 不会创建指向 bin 脚本的符号链接
【发布时间】:2015-12-18 17:42:31
【问题描述】:

我在 composer 生成符号链接时遇到问题。 我在 ./bin/my-script 中有脚本,代码如下:

#!/usr/bin/php
<?php echo 'Hello World!'; ?>

我已将配置添加到包 composer.json 中(不在主项目中)

"bin": ["bin/my-script"]

在主项目中更新作曲家时,我的包安装正常。 但是作曲家没有在 ./vendor/bin

中创建指向我的 bin 脚本的符号链接

我做错了什么?

【问题讨论】:

    标签: composer-php


    【解决方案1】:

    好的,我发现了问题。

    当我从本地存储库中提取而不是作曲家包时

    我必须在我的主项目的存储库设置中添加以下行。

    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "200mph/m-commander",
                "version": "dev-master",
                "source": {
                    "url": "/home/wojtek/m-commander",
                    "type": "git",
                    "reference": "develop"
                },
                "bin": ["bin/m-commander"],
                "autoload": {
                    "psr-4" : {
                        "mcommander\\" : "src/",
                        "examples\\mcommander\\" : "examples/"
                    }
                }
            }
        }
    ]
    

    【讨论】:

      【解决方案2】:

      你检查过这个链接https://getcomposer.org/doc/articles/vendor-binaries.md

      我认为您的问题与以下主题有关:

      当 Composer 在 composer.json 上运行时会发生什么 供应商二进制文件?#

      对于包直接定义的二进制文件,没有任何反应。

      当 Composer 在 composer.json 上运行时会发生什么 列出了供应商二进制文件的依赖项?#

      Composer 查找在所有依赖项中定义的二进制文件。一个 符号链接是从每个依赖项的二进制文件创建到 vendor/bin。

      【讨论】:

      • 这就是我所拥有的。包已确定 BIN 变量。因此,如果上述打包需要另一个项目,则应生成 BIN 脚本符号链接。但不是
      • 只是为了澄清。我的做法和 PhpUnit 一样。
      • 你能分享你的 composer.json 吗?顺便查了一下phpunit,首先在phpunit目录下,phpunit是可执行文件,可能有问题。
      猜你喜欢
      • 1970-01-01
      • 2017-05-10
      • 2010-10-02
      • 2018-03-31
      • 2021-12-21
      • 2018-11-06
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      相关资源
      最近更新 更多