在OSX 10.9上尝试安装Composer

3

我正在尝试按照getcomposer.org的指示在OSX 10.9上安装Composer,使用以下命令:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local

结果:

#!/usr/bin/env php
All settings correct for using Composer

Fatal error: Uncaught exception 'RuntimeException' with message 'Unable to write bundled     cacert.pem to: /Users/aaron.rossano/.composer/cacert.pem' in -:402
Stack trace:
#0 -(112): installComposer(false, '/usr/local', 'composer.phar', false, false, false)
#1 -(14): process(Array)
#2 {main}
thrown in - on line 402

这可能是一个权限问题。尝试使用sudo重新启动此命令。 - Pascal Le Merrer
3个回答

2

感谢你的回答,jimbojsb。在/Users/aaron.rossano/目录下创建.composer文件夹后,我遇到了以下错误:所有Composer设置正确 正在下载... 无法创建文件/usr/local/composer.phar: fopen(/usr/local/composer.phar)失败,无法打开流:权限被拒绝 下载失败:fopen(/usr/local/composer.phar)失败,无法打开流:权限被拒绝 fwrite()期望参数1为资源类型,但给定的是布尔类型 - Aharon Rossano
.composer文件夹?Mac不允许我创建,说它是专为系统而设的。 - eozzy

1
作为替代方案,请尝试从GitHub下载Composer安装程序的旧版本。只需将curl端点替换为先前版本的安装程序文件,例如:
curl -sS https://raw.github.com/composer/getcomposer.org/c6fedc418e1f80347724cf1bc3e86b607ac3ba30/web/installer | php -- --install-dir=/usr/local

注意:这是仅限于安装程序的旧版本,不包括Composer本身。它将下载最新版本的Composer。
此外,要以超级用户身份执行:
sudo sh -c "curl -sS https://raw.github.com/composer/getcomposer.org/c6fedc418e1f80347724cf1bc3e86b607ac3ba30/web/installer | php -- --install-dir=/usr/local"

谢谢Jacob。我尝试了带和不带'sudo',但都没有成功。 无法创建文件/usr/local/composer.phar: fopen(/usr/local/composer.phar):无法打开流:权限被拒绝 下载失败:fopen(/usr/local/composer.phar):无法打开流:权限被拒绝 fwrite()期望参数1为资源,但给出的是布尔值。 - Aharon Rossano
@Aaron 抱歉,除非你使用具有根权限的 shell 包装命令,否则 sudo 只会影响软件包(curl)的下载,而不是执行(php)。我已经更新了我的答案。 - Jacob Budin

1
我也曾遇到这个bug。最终通过使用sudo -s命令并重新运行sudo curl -sS https://getcomposer.org/installer | php解决了问题。
如果有需要,希望这篇文章能对你有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接