如何移动 Composer?

Posted

技术标签:

【中文标题】如何移动 Composer?【英文标题】:How do I move Composer? 【发布时间】:2016-08-25 06:55:33 【问题描述】:

我见过一些与此类似的事情 (Can't move composer),但我还没有弄清楚如何解决这个问题。

我正在按照本指南在 linux(fedora 22) 上安装 composer:https://ask.fedoraproject.org/en/question/53409/does-fedora-has-composer-in-the-repo/?answer=53445#post-id-53445

我正在寻求的最终结果是将 laravel 与 docker 一起用于一个小组项目,但到目前为止,我被 composer 遇到了这个错误。

我在命令行中输入:sudo mv composer.phar /usr/local/bin/composer,它会返回此消息:mv: cannot stat ‘composer.phar': No such file or directory

我不确定这里发生了什么,这是否期望 /usr/local/bin/ 中已经有一个作曲家文件,因为没有。它显然也没有创建一个。

也许这完全超出了我的想象,有人可以向我解释这里发生了什么并帮助我找到安装作曲家的解决方案吗?

【问题讨论】:

【参考方案1】:

手动下载composer.phar。

cd 到你下载了composer.phar 的目录并运行以下命令:

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

composer.phar 移动到bin 目录/usr/local/bin。现在重新启动终端,它应该可以工作了。请注意,它是适用于 Linux 的 Composer 可执行文件(未对其进行测试,但它位于 docs 中)。

【讨论】:

我的 /home 中有 composer.phar 但是当我尝试拖放它时,我得到了。打开文件'/usr/local/bin/composer.phar'时出错:权限被拒绝,你看到了当我在终端中使用建议'mv'命令时会发生什么。 在终端中输入 'sudo su' 然后尝试移动它(我假设您正在使用终端进行移动)或更改文件夹权限 或执行 'sudo nautilus --browser /usr/local/bin/' ,文件夹将打开并粘贴 composer.phar 那里 我获得了垃圾拖放权限,当我尝试在终端中移动它时它就像它不存在一样,也许我写错了? 是的尝试拖放,我真的不知道它应该工作!【参考方案2】:

我会将上面的移动命令稍微调整为:

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

按照https://getcomposer.org/download/的说明

这样,你实际上可以运行 composer,

php composer

因为它位于您的 /user/local/bin 中,就像 composer 一样。如果您将其移动为composer.phar,事情会变得很奇怪。

注意,移动 composer.phar 不会重新定位 composer.json 和 composer.lock 文件,它们将是安装 composer 的原始目录,但 composer 命令可以正常运行。

【讨论】:

这不是它的工作原理。 PHP 不能仅仅因为它们在 /usr/local/bin 中而神奇地找到东西。

以上是关于如何移动 Composer?的主要内容,如果未能解决你的问题,请参考以下文章

如何将composer设置为全局变量?

如何在Linux上安装Composer

如何通过Composer安装Laravel

composer安装及使用

centos安装composer

安装Composer