【问题标题】:How to run composer from anywhere?如何从任何地方运行作曲家?
【发布时间】:2012-07-05 04:51:21
【问题描述】:

我刚刚在我的/usr/bin 文件夹中安装了composer,所以当我从那个文件夹运行php composer.phar 时,我会得到关于composer 的帮助信息。但是,当我尝试从其他文件夹运行相同的文件时,我得到Could not open input file: composer.phar

如何毫无问题地从任何地方拨打php composer.phar

【问题讨论】:

    标签: php composer-php


    【解决方案1】:

    你可以做一个global installation (archived guide):

    由于 Composer 使用当前工作目录,因此可以以系统范围的方式安装它。

    1. 进入你的路径中的目录,如 cd /usr/local/bin
    2. 获取 Composer curl -sS https://getcomposer.org/installer | php
    3. 使 phar 可执行 chmod a+x composer.phar
    4. 进入项目目录 cd /path/to/my/project
    5. 像往常一样使用 Composer composer.phar install
    6. 您可以选择重命名 composer.phar composer 更容易 >

    更新:有时在/usr/local/bin下载不能或不想下载(有些遇到用户权限问题或访问受限),在这种情况下,你可以试试这个

    1. 打开终端
    2. curl -sS http://getcomposer.org/installer | php -- --filename=composer
    3. chmod a+x composer
    4. sudo mv composer /usr/local/bin/composer

    更新 2:对于 Windows 10 和 PHP 7,我推荐 this tutorial (archived)。就个人而言,我在 PHP 7.3 VC15 x64 非线程安全版本之前安装了Visual C++ Redistributable for Visual Studio 2017 x64(在PHP for Windows 页面的侧面菜单中检查两者的版本)。仔细阅读,可能启用扩展部分可能会有所不同(extension=curl 而不是extension=php_curl.dll)。像魅力一样工作,祝你好运!

    【讨论】:

    • 他们没有注意到您需要重命名文件才能使用 composer 调用它 - 很好的说明。
    • @AndrewAtkinson 或者,您可以在下载前重命名curl -sS https://getcomposer.org/installer | php -- --filename=composer
    • 只是想说声谢谢。我在理解底层逻辑时遇到了麻烦,getcomposer.org 本身在解释这一点方面做得并不好,所以谢谢!我得到了它的工作。
    【解决方案2】:

    composer.phar 可以单独运行,无需在其前面加上php。这应该可以解决您的问题(因为 bash 的 $PATH 和 php 的 include_path 不同)。

    【讨论】:

    • 您也可以将其重命名为仅作曲家,然后您可以简单地执行composer install
    • 我的 composer.phar 已安装。 (我使用 php composer.phar 进行了检查)但是,我没有得到位置。如何找到 composer.phar 位置的路径?我正在使用 UBUNTU。
    • 如果你可以运行php composer.phar,那么它可能在你的当前目录中。
    • 我认为您希望全局访问您的 composer.phar。移动它并创建一个别名:sudo mv composer.phar /usr/local/bin/ 然后alias composer='/usr/local/bin/composer.phar'
    • 我做了一个sudo mv composer.phar /usr/local/bin/composer。之后我可以在任何地方使用composer install
    【解决方案3】:

    如何通过终端从任何地方(在 MacOS X 上)运行 Composer

    背景:

    实际上在 getComposer 网站上明确指出,使用以下 curl 命令安装 Composer,

    curl -sS https://getcomposer.org/installer |php
    

    而且它确实做了它打算做的事情。然后它说将 composer.phar 移动到目录 /usr/local/bin/composer 然后 composer 将在全球范围内可用,通过使用以下命令行终端!

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

    问题:

    所以导致我求助于谷歌的问题是当我在 Mac OS X 终端中执行上述行时,它说,权限被拒绝。如下:

    mv: rename composer.phar to /usr/local/bin/composer: Permission denied
    

    答案:

    关注link 就像魅力一样让我找到了解决方案,我对此表示感谢。我刚刚错过的是上述“移动”命令行之前的 sudo 命令。 现在我的移动命令如下:

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

    它直接提示您进行身份验证并查看您是否被授权。所以如果你输入了一个有效的密码,那么移动就完成了,你可以检查一下是否全局安装了composer,使用下面这行代码。

    composer about
    

    希望这个回答能帮助你拓宽视野,最终解决你的问题。

    干杯!

    【讨论】:

    • > 然后它说将 composer.phar 移动到目录 /usr/local/bin/composer /usr/local/bin/composer 不是目录;它是在此之前称为composer.phar 的文件的新名称。
    • 在 macOS Sierra 上为我工作。
    【解决方案4】:

    首先安装作曲家installation documentation中提到的作曲家。我只是在这里添加以供参考。

    curl -sS https://getcomposer.org/installer | php

    然后将文件移动到“/usr/local/bin”。

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

    尝试运行composer -V。如果你得到像Composer version 这样的输出,后面跟着版本号,那么作曲家就安装成功了。

    如果你得到像composer: command not found 这样的任何输出,则表示使用以下命令为作曲家创建别名。所以它将在全球范围内执行。

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

    现在如果你运行composer -V 意味着你将得到Composer Version 的输出,后跟版本号。

    希望这会对某人有所帮助。

    【讨论】:

      【解决方案5】:

      只需将其移至/usr/local/bin 文件夹并删除扩展名

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

      【讨论】:

      • 正是我所需要的,谢谢
      【解决方案6】:

      只需运行此命令即可全局安装 composer

      curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
      

      【讨论】:

      • 这解决了我询问 sudoer 密码的问题。谢谢
      【解决方案7】:

      对于 MAC 和 LINUX,请使用以下过程:

      将composer.phar所在的目录添加到你的PATH中:

      export PATH=$PATH:/yourdirectory
      

      然后将 composer.phar 重命名为 composer:

      mv composer.phar composer
      

      【讨论】:

        【解决方案8】:

        您可以进行简单的全局安装以从任何地方运行它

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

        https://getcomposer.org/doc/00-intro.md#globally 网站推荐这种方式。在 Ubuntu 14.04 上运行良好没问题。 这样你就不需要像 php compomser.phar show 那样做例子,你只需在你正在使用的任何目录中做 composer show

        【讨论】:

          【解决方案9】:

          要从其他位置运行它,您可以使用程序附带的 composer 程序。它基本上是一个 bash 脚本。如果您没有它,您只需将以下代码复制到文本文件中即可创建一个

          #!/bin/sh
          
          dir=$(d=$(dirname "$0"); cd "$d" && pwd)
          
          if command -v 'cygpath' >/dev/null 2>&1; then
            dir=$(cygpath -m $dir);
          fi
          
          dir=$(echo $dir | sed 's/ /\ /g')
          php "${dir}/composer.phar" $*
          

          然后将文件保存在您的 bin 文件夹中,并将其命名为 composer,不带任何文件扩展名。然后将 bin 文件夹添加到您的环境变量 f

          【讨论】:

            【解决方案10】:

            其中一些可能是由于您的服务器运行的操作系统造成的。我最近迁移到了一个运行 Ubuntu 的新托管环境。将这个别名 alias composer="/path/to/your/composer" 添加到 .bashrc 或 .bash_aliases 最初不起作用,原因有两个:

            默认情况下,服务器运行的是 csh,而不是 bash。要检查这是否是您的问题,请运行echo $0。如果返回的是 -csh,您需要将其更改为 bash,因为 Composer 运行的某些进程使用 csh/tcsh 会失败

            要更改它,首先通过运行cat /etc/shells 检查您的服务器上是否可以使用 bash。如果在返回的列表中看到 bin/bash,则可以通过运行 chsh -s /bin/csh 将默认值更改为 bash。

            现在,此时,您应该可以运行 Composer,但通常在 Ubuntu 上,您必须在每个会话中通过运行 source ~/.bashrcsource ~/.bash_profile 来获取 Bash 脚本来加载脚本。这是因为,在大多数情况下,Ubuntu 不会加载您的 Bash 脚本,因为它会将 .profile 作为默认脚本加载。

            要在您打开会话时加载您的 Bash 脚本,请尝试将其添加到您的 .profile 中(如果您的 Bash 脚本是 .bashrc - 如果是 .bash_profile 或其他,请相应地修改):

            if [ -n "$BASH_VERSION" ]; then
                # include .bashrc if it exists
                if [ -f "$HOME/.bashrc" ]; then
                    . "$HOME/.bashrc"
                fi
            fi
            

            要进行测试,请关闭会话并重新加载。如果它工作正常,运行 composer -vwhich composer 应该会按预期运行。

            【讨论】:

              猜你喜欢
              • 2015-07-08
              • 2018-04-22
              • 2021-03-22
              • 2015-04-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-05-26
              相关资源
              最近更新 更多