OSX -bash: композитор: команду не знайдено


91

Якщо я вводжу "композитор", я отримую вищевказане повідомлення про помилку.

Я зробив у своєму 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
~: 

1
chmod 0755 /usr/local/bin/composerі додати /usr/local/binдо $PATHв ~/.bash_profile. Це основні користувацькі речі, які тут не належать.
Droppy

Що саме я повинен додати до свого .profile? Я оновив свою публікацію вмістом свого .profile
bobbybackblech

Отже, композитор зараз /usr/local/bin/composer/composer.phar?
обдурити

/usr/local/bin/usr/local/bin/composer-bash: /usr/local/bin/composer/composer.phar: Permission denied
Така

Відповіді:


288

Шлях /usr/local/bin/composerне у вашому PATH, виконувані файли в цій папці не будуть знайдені.

Видаліть папку /usr/local/bin/composer, а потім запустіть

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

Це переходить composer.pharв /usr/local/bin/і перейменовує його вcomposer (який до цих пір виконуваний файл, а НЕ папка).

Тоді просто використовуйте його як:

$ composer ...

2
Той факт, що ви вводите "$", можливо? Це просто для позначення рядка командного рядка, який зазвичай становить "$".
обдурити

Я composer: Permission denied бачу кілька рішень, sudo chmod але я отримую sudo: not found (це синологія (busybox))
Jeroen van Langen

5
Можливо, саме тому $його не слід включати у відповіді. Здається очевидним для нас, але не для нових людей. І також очевидно, що вам не потрібно, $щоб люди розуміли, що ви говорите про термінал.
JGallardo

4
Я думаю, включити $ - це чудово (якщо у вас є проблеми з розумінням того, що $ для hmmm, то, можливо, сценарії Linux не для вас?)
gvanto

Чому цього немає в документації про композитора! Ty @deceze
Jonas de Herdt

68

Ну, я спробував багато речей, але, здавалося, жодна не працює. Але наступний процес зробив це правильно, тепер я можу використовувати 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

Блискуче! Тільки ваше рішення спрацювало для мене, дякую!
Нілай Дагдемір

30

Я потрапляю в ту ж проблему навіть після переміщення в composer.phar'/ usr / local / bin / composer', використовуючи таку команду в Amazon Linux.

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

Я використав таку команду, щоб створити псевдонім для файлу композитора. Тож зараз він працює у всьому світі.

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

Не знаю, чи буде це працювати в OS-X. Але коли я шукаю за цією проблемою, я отримую це посилання. Тож я просто розміщую тут. Сподіваюся, це комусь допоможе.


Так, це спрацювало після створення псевдоніма. псевдонім composer = '/ usr / local / bin / composer'
Санджай

Чудова стаття! Мене багато шукали з цього приводу.
lovecoding

23

Перевірено на Mac OSX після встановлення за допомогою інструкцій на веб-сайті композитора:

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


7

Глобально встановіть Composer на OS X 10.11 El Capitan

Ця команда НЕ працюватиме в 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

Тепер ми можемо отримати доступ до команди композитора глобально, як і раніше.


2

це витратило мене день-два. наприклад, чому в підручниках ніхто не каже, що композитор команд не можна використовувати без власне зв'язування та іншого ... Я маю на увазі, що кожен пише команду композитора, як наступний крок, коли ми не всі 5-річні досвідчені користувачі знаємо ці деталі.

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

зробив це для мене на ubuntu після того, як застряг на 2 дні


0

У Mac OS X для тих, хто має:

-bash: / usr / local / bin / composer: Дозвіл відмовлено

проблема під час спроби переміщення завантаженого composer.pharза допомогою:

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

це причина:

Захист цілісності системи

і це рішення:

  1. Перезавантажтесь у режимі відновлення: перезапустіть mac і утримуйте cmd + R .
  2. Відкрийте термінал після запуску режиму відновлення за допомогою Службові програми> Термінал через панель у верхній частині.
  3. Введіть csrutil disableі натисніть Enter. Ви повинні побачити повідомлення, яке повертається із повідомленням, що:

    захист цілісності системи вимкнено.

  4. Перезапустіть комп’ютер, як зазвичай, а потім налаштуйте композитор. Мені довелося його вкласти, /usr/binа НЕ, /usr/local/bin бо з якихось причин там просто не працювало.
  5. Поверніться до режиму відновлення та ввімкніть System Integrity Protector, набравши csrutil enable
  6. Поверніться у звичайному завантаженні та перевірте, чи працює композитор. Це зробило для мене.

Наведені вище 6 кроків копіюються звідси , тому вся заслуга належить користувачеві Vasheer там.


1
Вам слід chmod + x двійковий файл, а не просто вимикати ваш csrutil ...
theprojectabot

0

Якщо вам потрібно запустити composer із sudo , вам слід змінити каталог композитора на

/usr/bin

це було протестовано на Centos8.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.