如果我输入"composer",就会得到上面的错误信息
我在macbook上写的:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
全局安装Composer
我必须手动创建/local/bin/composer目录,这可能导致错误?
php composer.phar
如果我在.phar文件所在的代码目录中,可以工作。
我怎么做才能解决这个问题并全局运行composer ?
我~/. profileexport PS1="W: "
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
~: echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/bin
~:
路径/usr/local/bin/composer
不在您的path中,该文件夹下的可执行文件将找不到。
删除文件夹/usr/local/bin/composer
,然后运行
$ mv composer.phar /usr/local/bin/composer
这将composer.phar
移动到/usr/local/bin/
,并将其重命名为composer
(这仍然是一个可执行文件,而不是一个文件夹)。
然后像这样使用:
$ composer ...
嗯,我尝试了很多东西,但似乎没有工作。但是下面的过程做对了,我现在可以在终端中使用composer
命令。我在mac OS 10.12.1
$ curl -sS https://getcomposer.org/installer | php
$ chmod +x composer.phar
$ mv composer.phar /usr/local/bin/composer
$ composer
在amazon linux中使用以下命令将composer.phar
移动到'/usr/local/bin/composer'后,我也遇到了同样的问题。
mv composer.phar /usr/local/bin/composer
我使用以下命令为编写器文件创建别名。现在它在全局运行。
alias composer='/usr/local/bin/composer'
我不知道这是否会在OS-X工作。但是当我搜索这个问题时,我得到了这个链接。所以我只是在这里发布。
根据composer网站上的说明安装后在Mac OSX上进行测试:
sudo mv composer.phar /usr/local/bin/composer
Ubuntu;
alias composer='/usr/local/bin/composer/composer.phar'
在OS X 10.11 El Capitan上全局安装Composer
这个命令不能在OS X 10.11中使用:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
相反,让我们写入用户的/usr/local/bin路径:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
现在我们可以像以前一样全局访问composer命令了。
这浪费了我一两天的时间。就像为什么没有人在教程中说命令编写器不能在没有实际链接和东西的情况下使用…我的意思是,每个人都在编写作曲家命令,就像我们不是所有5年经验的用户都知道这些细节时的下一步一样。
cp composer.phar /usr/local/bin/composer
为我在ubuntu上做的,在卡住了2天后
这一次在权限问题上对我来说很好。
alias composer="php /usr/local/bin/composer/composer.phar"
在Mac OS X上,对于任何有:
-bash:/usr/local/bin/composer: Permission denied
问题,而试图移动下载的composer.phar
使用:
mv composer.phar /usr/local/bin/composer
这是原因:
系统完整性保护
,这是解决方案:
- 在恢复模式下重启:重启mac并按住cmd+R.
- 通过Utilities> terminal 通过顶部的bar打开恢复模式启动后的终端。
- 输入
csrutil disable
并回车。您应该看到返回的消息如下:系统完整性保护关闭。
- 正常重启电脑,然后去设置作曲家。我不得不把它放在
/usr/bin
和而不是/usr/local/bin
中,因为某种原因它在那里不起作用。 - 通过输入
csrutil enable
返回恢复模式并启用系统完整性保护 - 在正常启动时返回并检查作曲器是否工作。
以上6个步骤是从这里复制的,所以所有的功劳都属于用户Vasheer那里。
如果您必须使用sudo来运行composer,您应该将composer的目录更改为
/usr/bin
在Centos8上进行了测试
Composer是可用的,并在全局路径中安装包,但它们在shell中不可用,在我的情况下是Mac。我设法通过将全局bin添加到我的bash文件的路径来解决这个问题。
步骤:
首先,检查你的主目录是什么,在shell中输入:
cd ~
pwd
这将告诉你主路径
下一步是验证编写器是否在那里设置了全局目录:
ls -al .composer
如果你有一个文件列表,这意味着作曲家设置目录,如果没有-查看上面或文档
下一步是编辑bash配置文件。我的是~/。Bash_profile,但其他可以~/.zshrc。如果您没有这样的别名,请尝试查看如何设置别名并将代码放入别名文件:
PATH="YOUR_HOME_PATH/.composer/vendor/bin:${PATH}"
export PATH
就是这样!只需用
重新加载文件source PATH_TO_FILE
你可以走了!