Доступ к composer.json /composer.phar

Я установил composer.phar в следующий каталог:

/public_html/composer

Я уже добавил пакет в composer.json, как показано ниже:

{
    "require": {
        "stripe/stripe-php": "2.*"
    }
}

Это было некоторое время назад. Теперь я хотел бы установить другой пакет, используя composer. Однако я не могу получить к нему доступ. Я пытаюсь сделать следующее в SSH/терминале:

root@host [~]# composer.phar
-bash: composer.phar: command not found

Затем я пытаюсь:

root@host [~]# cd public_html
root@host [~/public_html]# cd composer
-bash: cd: composer: No such file or directory
root@host [~/public_html]# 

Что я делаю не так? В FTP я вижу, что композитор находится в папке /public_html/, но я не могу получить к нему доступ?

ИЗМЕНИТЬ:

ls -l composer 

дает мне:

/bin/ls: Can't access composer: No such file or directory

Используя ls -a, я получаю:

./             .bwusage.sqlite  error_log       perl5/        .spamassassin/
../            .composer/       .forward        php.ini.new   .ssh/
.accesshash    .cpanel/         .gnupg/         php.ini.orig  support/
.bash_history  cpanel3-skel/    .HttpRequest/   .pki/         .tcshrc
.bash_logout   .cpanm/          .lesshst        public_ftp/   tmp/
.bash_profile  .cpobjcache/     .MirrorSearch/  public_html/  .trustwavereqs
.bashrc        .cshrc           .my.cnf         .rnd          .viminfo

person oliverbj    schedule 17.11.2015    source источник
comment
Хм... cd public_html && ./composer...!? composer — это исполняемый файл, а не каталог, не так ли?   -  person deceze♦    schedule 17.11.2015
comment
Вы пробовали php composer.phar?   -  person orestiss    schedule 17.11.2015
comment
/composer — это просто каталог, в который я добавил файлы composer.phar и т. д.   -  person oliverbj    schedule 17.11.2015
comment
cd public_html && ./composer.phar в этом случае исполняемым файлом является файл phar, но его можно добавить как псевдоним.   -  person Pred    schedule 17.11.2015
comment
@orestiss php composer.phar дает тот же результат, что и composer.phar   -  person oliverbj    schedule 17.11.2015
comment
@Pred Эта команда не дает мне такого файла или каталога; хотя я перешел в папку public_html   -  person oliverbj    schedule 17.11.2015
comment
Что говорит ls -l composer или вообще ls -a? Если вы его видите, значит, он должен быть там, хотя cd, кажется, не согласен.   -  person deceze♦    schedule 17.11.2015
comment
обратите внимание, что /public_html отличается от ~/public_html ...   -  person orestiss    schedule 17.11.2015
comment
@deceze Я обновил свой исходный вопрос, включив в него обе команды.   -  person oliverbj    schedule 17.11.2015
comment
когда вы вошли в систему как root, домашний каталог для пользователя root отличается от корневого каталога /   -  person orestiss    schedule 17.11.2015
comment
Ну, composer явно не в тех каталогах, в которых вы делаете ls. Вы пробовали то же самое в public_html?   -  person deceze♦    schedule 17.11.2015


Ответы (2)


Я считаю, что проблема заключается в том, что /public_html/composer находится под корнем /, а также есть каталог public_html под /root (домашний каталог для пользователя root).

используйте pwd, чтобы проверить, где вы находитесь в данный момент, и используйте ls /public_html/composer, чтобы увидеть, находится ли composer.phar в этом каталоге.

Вы можете запустить: php /public_hmtl/composer/composer.phar.

Чтобы иметь возможность запускать его как composer, вы должны mv указать composer.phar в каталог, указанный в вашей переменной PATH.

Например:

mv /public_html/composer/composer.phar /usr/bin/composer

person orestiss    schedule 17.11.2015

Итак, ваша структура: public_html/composer/composer.phar

Если это так, то либо перейдите в папку композитора (cd public_html/composer), затем введите команду ./composer.phar или php ./composer.phar.

Вы можете выполнить его, используя относительные/абсолютные пути (./public_html/composer/composer.phar или /srv/www/mysite/whatever/public_html/composer/composer.phar)

Обратите внимание, что вам нужно запускать композитор из папки, в которой находится ваш файл composer.json.

Во всех случаях у вас должен быть доступ к папке и самому файлу.

person Pred    schedule 17.11.2015