OSX -bash:composer:找不到命令

时间:2014-07-29 15:15:59

标签: macos composer-php

如果我输入"作曲家"我收到上述错误消息。

我在我的macbook上做了:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

全局安装Composer。

我不得不手动创建/ local / bin / composer目录,这可能导致错误?

php composer.phar
如果我在.phar文件所在的代码目录中,则

有效。

我该怎么做才能解决问题并在全球范围内运行作曲家?

我的〜/ .profile

export 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
~: 

10 个答案:

答案 0 :(得分:238)

路径/usr/local/bin/composer不在您的路径中,该文件夹中的可执行文件无法找到。

删除文件夹/usr/local/bin/composer,然后运行

$ mv composer.phar /usr/local/bin/composer

这会将composer.phar移至/usr/local/bin/并将其重命名为composer(仍然是可执行文件,而不是文件夹)。

然后就像使用它一样:

$ composer ...

答案 1 :(得分:48)

嗯,我尝试了很多东西,但似乎都没有。但是下面的过程做得对,我现在可以在终端中使用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

答案 2 :(得分:29)

即使在将composer.phar移动到' / usr / local / bin / composer'之后,我也遇到了同样的问题。在amazon linux中使用以下命令。

mv composer.phar /usr/local/bin/composer

我使用以下命令为composer文件创建别名。所以它现在全球运行。

<强> alias composer='/usr/local/bin/composer'

我不知道这是否适用于OS-X。但是当我搜索这个问题时,我得到了这个链接。所以我只是在这里发帖。希望这会对某人有所帮助。

答案 3 :(得分:16)

在通过作曲家网站上的说明安装后在Mac OSX上测试:

sudo mv composer.phar /usr/local/bin/composer

答案 4 :(得分:10)

这适用于Ubuntu;

alias composer='/usr/local/bin/composer/composer.phar'

答案 5 :(得分:4)

在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命令。

答案 6 :(得分:0)

在Mac OS X上,对于任何拥有:

的人
  

-bash:/ usr / local / bin / composer:Permission denied

问题,同时尝试使用以下方式移动下载的composer.phar

mv composer.phar /usr/local/bin/composer

这是原因:

系统完整性保护

这就是解决方案:

  1. 在恢复模式下重新启动:重新启动Mac并按住 cmd + R
  2. 通过实用程序&gt;终端启动恢复模式后,通过顶部的栏打开终端。
  3. 输入csrutil disable并按Enter键。你应该看到一个msg返回说:
      

    系统完整性保护已关闭。

  4. 正常重启计算机,然后设置composer。我不得不把它放在/usr/bin NOT /usr/local/bin中,因为出于某种原因它只是在那里没有用。
  5. 返回恢复模式并键入csrutil enable
  6. 启用系统完整性保护程序
  7. 恢复正常启动并检查作曲家是否正常工作。它为我做了。
  8. 上述6个步骤是从here复制的,因此所有赠送金额都属于用户 Vasheer

答案 7 :(得分:0)

这一天浪费了我一两天。喜欢为什么没有人在教程上说没有实际链接和东西就不能使用命令编写器...我的意思是每个人都在编写作曲家命令,就像下一步我们不是所有5年经验的用户都知道这些细节。

cp composer.phar /usr/local/bin/composer

在被困2天后,我在ubuntu上为我做了这件事

答案 8 :(得分:0)

如果必须使用 sudo 运行 composer ,则应将 composer 的目录更改为

/usr/bin

这已在Centos8上进行了测试。

答案 9 :(得分:0)

Composer可以使用并将这些软件包安装在全局路径中,但是它们在外壳中不可用,在我的情况下为Mac。我设法通过在bash文件的路径中添加全局bin来解决此问题。

步骤:

首先,通过在shell中输入以下内容检查您的主目录:

cd ~
pwd

这将告诉您原路

下一步是验证作曲家是否在其中设置了全局目录

ls -al .composer

如果您得到的文件列表是指作曲家设置的目录,否则请-在文档上方或文档中查找。

下一步是编辑bash配置文件。我的是〜/ .bash_profile,但是其他人可以〜/ .zshrc。如果您没有这样的人,请尝试查看如何设置别名并将代码放置在别名文件中:

PATH="YOUR_HOME_PATH/.composer/vendor/bin:${PATH}"
export PATH

就是这样!只需使用

重新加载文件
source PATH_TO_FILE

你很好!