我想这很容易。在我的OS X - Yosemite上,我已将composer.phar复制到我的/usr/bin
目录中。我已经使用了一段时间,但今天我需要运行“composer update
”。它当然没有用,所以我跑了“sudo composer update
”。然后我收到消息“未找到命令编辑器”。 CHMM
我根据文档将作曲家复制到/usr/local/bin
,现在“sudo composer
”就像魅力一样。但是当我在没有sudo的情况下运行“composer
”时,它仍然使用“/usr/bin
”目录中的旧版本。所以我删除了它。
现在作曲家只能使用sudo命令。我得到“无法打开输入文件:/usr/bin/composer.phar”否则。如何将命令“composer
”指向/usr/local/bin
中的新位置?
答案 0 :(得分:3)
编辑:
的/ etc / bashrc中
将此添加到该文件:
alias composer =" php / usr / local / bin / composer"
运行:
source / etc / bashrc
Composer现在应该在没有sudo的情况下运行。
答案 1 :(得分:2)
获得一个好的composer命令而不是composer.phar的另一个选择:
$ curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin
$ ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
答案 2 :(得分:0)
我会回答你如何在我的Ubuntu 16.10中解决它,你可以比较你的 我的作曲家文件夹设置在
/home/abdallah/.composer/
我只给这个文件777权限,所以任何用户组都可以访问
sudo chmod -R 777 /home/abdallah/.composer/
就是这样 我希望这对你有帮助
答案 3 :(得分:0)
好的,我遇到了必须使用sudo
运行composer命令的问题,但是为了让它工作而不会抛出这种错误(在Ubuntu 15.10中):
[ErrorException]
copy(/home/randomuser/.composer/cache/files/barryvdh/laravel-cors/056068736ff8f002514178e1416c7665732eaddc.zip): failed to open stream: Permission denied
简单地解决了我的问题是:
$ cd
sudo chown -R $USER:$USER .composer/
composer install
顺利运作。PS:对于其他情况,这可能会有所不同。
希望这会有所帮助:)
答案 4 :(得分:0)
从其他答案来看,似乎解决方案可能因您的系统而异。这就是我在Mac 10.12上修复问题的方法。
/ usr / local / bin / composer 中的我的作曲家可执行文件与〜/ .composer / 配置和缓存文件不同。
/usr/local/bin/composer myusr admin
~/.composer/ myusr staff
myusr 的主要群组是员工,因此我将 / usr / local / bin / composer 的群组更改为员工
/usr/local/bin myusr$ chgrp staff composer
在过去运行composer作为 sudo 时创建的缓存文件仍然会导致问题,所以我删除了这些文件。 Composer缓存文件位于此处:~/.composer/cache/
如果更新在 composer update 期间挂起,则项目的 .composer 目录中的项目检查/清空缓存文件。