如果您尝试“全局”安装 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" "$@"
偶然发现
#!/usr/bin/env php
舍邦。只需发出一个:composer --help
关于cygwin - Composer 和 Cygwin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12276946/