OSX-bash: композитор: команда не найдена
Если я наберу "композитор", я получу приведенное выше сообщение об ошибке.
Я сделал на своем 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 глобально?
Мой ~/.профиль
export PS1="\W: "
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
~: эхо$ПУТЬ
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/bin
~:
8 answers
Путь /usr/local/bin/composer
не указан в вашем ПУТИ, исполняемые файлы в этой папке не будут найдены.
Удалите папку /usr/local/bin/composer
, затем запустите
$ mv composer.phar /usr/local/bin/composer
Это перемещает composer.phar
в /usr/local/bin/
и переименовывает его в composer
(который по-прежнему является исполняемым файлом, а не папкой).
Тогда просто используйте его так:
$ composer ...
Ну, я много чего перепробовал, но, похоже, ничего не получалось. Но следующий процесс сделал это правильно, теперь я могу использовать команду 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
Я сталкиваюсь с той же проблемой даже после перемещения composer.phar
в "/usr/local/bin/composer", используя следующую команду в amazon linux.
mv composer.phar /usr/local/bin/composer
Я использовал следующую команду, чтобы создать псевдоним для файла композитора. Так что теперь он работает по всему миру.
alias composer='/usr/local/bin/composer'
Я не знаю, будет ли это работать в OS-X. Но когда я ищу эту проблему, я получаю эту ссылку. Так что я просто публикую здесь. Надеюсь, это кому-нибудь поможет.
Протестировано на Mac OSX после установки с помощью инструкций на веб-сайте composer:
sudo mv composer.phar /usr/local/bin/composer
Псевдоним композитора='/usr/локальный/bin/композитор/композитор.phar' Работал для меня в Ubuntu.
Глобальная установка 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
Теперь мы можем получить доступ к команде composer глобально, как и раньше.
В Mac OS X, для всех, у кого есть:
-bash: /usr/локальный/bin/композитор: В разрешении отказано
Проблема при попытке переместить загруженный composer.phar
с помощью:
mv composer.phar /usr/local/bin/composer
Вот в чем причина:
Защита целостности Системы
И это решение:
- Перезагрузка в режиме восстановления: перезагрузите компьютер Mac и удерживайте нажатой клавишу cmd+R.
- Откройте терминал после запуска режима восстановления с помощью Утилиты>Терминал через панель вверху.
- Введите
csrutil disable
и нажмите ввод. Вы должны увидеть сообщение, в котором говорится, что:Защита целостности системы отключена.
- Перезагрузите компьютер в обычном режиме, а затем перейдите к настройке composer. Я должен был поместить его в
/usr/bin
и НЕ/usr/local/bin
потому что по какой-то причине там это просто не сработало. - Вернитесь в режим восстановления и включите защиту целостности системы, введя
csrutil enable
- Вернитесь в обычную загрузку и проверьте, что сочинения композитора. Это помогло мне.
Вышеуказанные 6 шагов скопированы из здесь, поэтому вся заслуга принадлежит пользователю Вашир там.
Это отняло у меня день или два. например, почему никто не говорит в учебных пособиях, что составитель команд не должен использоваться без фактических ссылок и прочего... Я имею в виду, что все пишут команду composer, как будто это следующий шаг, когда мы не все 5-летние опытные пользователи, чтобы знать эти детали.
cp composer.phar /usr/local/bin/composer
Сделал это для меня на ubuntu после того, как застрял на 2 дня