gpt4 book ai didi

cygwin - Composer 和 Cygwin

转载 作者:行者123 更新时间:2023-12-03 09:34:12 26 4
gpt4 key购买 nike

如果您尝试“全局”安装 Composer,则它无法在 Cygwin 中正确运行。

将 composer.phar 放入/usr/local/bin/composer 中,然后尝试运行它会导致错误:

Could not open input file: /usr/local/bin/composer

最佳答案

刚刚被同样的问题绊倒并找到了解决方案。把它贴在这里,以防万一我不得不再次查找它。

  • 设立bin目录正下方 /home/my-username :
    cd ~
    mkdir bin
  • 移动 composer.phar (或任何其他正在兴起的漂亮的新 PHP 小鬼)
    ~/bin目录并确保 它是 执行位 :
    # Notice how I got rid of the superfluous `.phar` extension
    mv /path/to/composer.phar ~/bin/composer
    chmod +x ~/bin/composer
  • 告诉 cygwin包括您的 ~/bin搜索路径中的目录:

    打开文件 ~/.bash_profile并取消注释以下段落...
    # Set PATH so it includes user's private bin if it exists
    if [ -d "${HOME}/bin" ] ; then
    PATH="${HOME}/bin:${PATH}"
    fi
  • 现在,对于最重要的部分:

    帮助 Win 的原生 PHP 解析 Unix 样式路径的包装脚本(这会导致
    问题毕竟是因为 Windows 不知道如何处理 /cygdrive/...路径)。
    cd ~/bin
    touch php
    chmod +x php

    编辑包装脚本后 ~/bin/php应该读:
    #!/bin/bash

    # e.g. php="/cygdrive/c/Program Files (x86)/php/php.exe"
    php="/path/to/php.exe"

    for ((n=1; n <= $#; n++)); do
    if [ -e "${!n}" ]; then
    # Converts Unix style paths to Windows equivalents
    path="$(cygpath --mixed ${!n} | xargs)"

    case 1 in
    $(( n == 1 )) )
    set -- "$path" "${@:$(($n+1))}";;
    $(( n < $# )) )
    set -- "${@:1:$((n-1))}" "$path" ${@:$((n+1)):$#};;
    *)
    set -- "${@:1:$(($#-1))}" "$path";;
    esac
    fi
    done

    "$php" "$@"
  • 现在重新启动你的 shell,它应该在任何时候正确调用 PHP 解释器
    偶然发现 #!/usr/bin/env php舍邦。只需发出一个:
    composer --help
  • 关于cygwin - Composer 和 Cygwin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12276946/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com