OSX -bash:作曲家:找不到命令
Posted
技术标签:
【中文标题】OSX -bash:作曲家:找不到命令【英文标题】:OSX -bash: composer: command not found 【发布时间】:2014-09-21 00:52:47 【问题描述】:如果我输入“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?
我的 ~/.profile
export PS1="\W: "
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
~: 回显 $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/bin
~:
【问题讨论】:
chmod 0755 /usr/local/bin/composer
并在~/.bash_profile
中将/usr/local/bin
添加到$PATH
。这是基本的用户资料,不属于这里。
我应该在我的 .profile 中添加什么?我用我的 .profile 的内容更新了我的帖子
所以作曲家现在在/usr/local/bin/composer/composer.phar
?
在 mac os x 10.11.4 上同样的问题在 $PATH 中使用 /usr/local/bin
和 /usr/local/bin/composer
,仍然得到 -bash: /usr/local/bin/composer/composer.phar: Permission denied
@Pmpr 你有解决权限问题的办法吗?
【参考方案1】:
路径 /usr/local/bin/composer
不在您的 PATH 中,找不到该文件夹中的可执行文件。
删除文件夹/usr/local/bin/composer
,然后运行
$ mv composer.phar /usr/local/bin/composer
这会将composer.phar
移动到/usr/local/bin/
并将其重命名为composer
(它仍然是可执行文件,而不是文件夹)。
然后像这样使用它:
$ composer ...
【讨论】:
您可能正在输入“$”这一事实?这只是为了表示您的命令行提示符,通常是“$”。 我收到了composer: Permission denied
看到了一些使用 sudo chmod
的解决方案,但我收到了 sudo: not found
(这是一个 Synology (busybox))
也许这就是为什么$
不应包含在答案中。对我们来说似乎很明显,但对新人来说却不是。而且很明显,您不需要$
就可以让人们理解您在谈论终端。
我认为包含 $ 非常好(如果您在理解 $ 对 hmmm 的含义有疑问,那么也许 linux 脚本不适合您?)
为什么这不在作曲家的文档中!泰@deceze【参考方案2】:
即使在 amazon linux 中使用以下命令将 composer.phar
移动到“/usr/local/bin/composer”后,我也遇到了同样的问题。
mv composer.phar /usr/local/bin/composer
我使用以下命令为作曲家文件创建别名。所以现在它在全球范围内运行。
alias composer='/usr/local/bin/composer'
我不知道这是否适用于 OS-X。但是当我搜索这个问题时,我得到了这个链接。所以我只是在这里发帖。希望这会对某人有所帮助。
【讨论】:
是的,它在创建别名后工作。别名 composer='/usr/local/bin/composer' 好文章!我已经为此进行了很多搜索。【参考方案3】:这适用于 Ubuntu;
alias composer='/usr/local/bin/composer/composer.phar'
【讨论】:
完成此操作后,您应该重新启动终端 @lone_coder 你让我很开心,事实上我被卡住了,解决方法就像重启终端一样简单【参考方案4】:在 Mac OS X 上,任何人都可以:
-bash: /usr/local/bin/composer: 权限被拒绝
问题,在尝试移动下载的composer.phar
时使用:
mv composer.phar /usr/local/bin/composer
这就是原因:
系统完整性保护
这就是解决方案:
-
在恢复模式下重启:重启你的mac并按住cmd+R。
恢复模式启动后,通过顶部栏的Utilities>Terminal打开终端。
输入
csrutil disable
并回车。您应该看到返回的消息说:
正常重启计算机,然后设置作曲家。我不得不把它放在系统完整性保护已关闭。
/usr/bin
和 NOT /usr/local/bin
中,因为由于某种原因它在那里不起作用。
返回恢复模式并通过键入 csrutil enable
启用系统完整性保护程序
在正常启动时返回并检查作曲家是否正常工作。它对我有用。
以上6个步骤是从here复制过来的,所以功劳归那里的Vasheer用户所有。
【讨论】:
你应该 chmod +x 二进制文件而不是仅仅关闭你的 csrutil ...【参考方案5】:通过 composer 网站上的说明安装后在 Mac OSX 上测试:
sudo mv composer.phar /usr/local/bin/composer
【讨论】:
【参考方案6】:在 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 命令了。
【讨论】:
【参考方案7】:好吧,我尝试了很多东西,但似乎都没有奏效。但是下面的过程做得对,我现在可以在终端中使用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
【讨论】:
我在 MacOS M1 上试过这个,工作起来很有魅力,节省了我很多时间。感谢您的解决方案 zsh:权限被拒绝:作曲家【参考方案8】:这浪费了我一两天。就像为什么没有人在教程上说命令作曲家在没有实际链接和东西的情况下不能使用......我的意思是每个人都在编写作曲家命令,就像我们不是所有 5 年有经验的用户都知道这些细节的下一步一样。
cp composer.phar /usr/local/bin/composer
在卡住 2 天后在 ubuntu 上为我做的
【讨论】:
我也是,按照所有教程进行操作,但他们无法添加关于将命令移动到 /usr/local/bin/composer 的一两行信息。他们都说要运行类似 run "export PATH="$HOME/.composer/vendor/bin:$PATH"" 之类的东西,但它不能修复它!【参考方案9】:如果你必须用sudo运行composer,你应该把composer的目录改成
/usr/bin
这是在 Centos8 上测试的。
【讨论】:
【参考方案10】:Composer 可以使用并将软件包安装在全局路径中,但它们在 shell 中不可用,在我的情况下是 Mac。我设法通过将全局 bin 添加到我的 bash 文件的路径来解决此问题。
步骤:
首先,通过在 shell 中键入来检查您的主目录:
cd ~
pwd
这会告诉你回家的路径
下一步是验证 composer 在那里设置了全局目录:
ls -al .composer
如果您有文件列表,则意味着 composer 设置目录,如果没有 - 请查看上方或文档。
下一步是编辑 bash 配置文件。我的是 ~/.bash_profile 但其他可以 ~/.zshrc。如果您没有这样的人,请尝试查看如何设置别名并将代码放在别名文件中:
PATH="YOUR_HOME_PATH/.composer/vendor/bin:$PATH"
export PATH
就是这样!只需重新加载文件
source PATH_TO_FILE
你很高兴!
【讨论】:
【参考方案11】:这次在权限问题上对我来说效果很好。
alias composer="php /usr/local/bin/composer/composer.phar"
【讨论】:
以上是关于OSX -bash:作曲家:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章