简体   繁体   English

Composer 不适用于 oh-my-zsh

[英]Composer does not work with oh-my-zsh

I have installed composer on my Mac and it works just fine.我已经在我的 Mac 上安装了 Composer,它工作得很好。

I have an issue with composer when i load oh-my-zsh and typing "composer" in terminal gives me following random ????% on the screen.当我加载 oh-my-zsh 并在终端中输入“composer”时,我遇到了 Composer 问题,在屏幕上显示随机????%

When i disable oh-my-zsh by renaming .zshrc in home, it agains begin to work.当我通过在家里重命名 .zshrc 来禁用 oh-my-zsh 时,它又开始工作了。

Following is my .bash_profile file.以下是我的.bash_profile文件。

export PATH=/usr/local/bin:$PATH
export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH

And here is my .zshrc file这是我的 .zshrc 文件

# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh

# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="azhararmar"

# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"

# Uncomment this to disable bi-weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"

# Uncomment to change how often before auto-updates occur? (in days)
# export UPDATE_ZSH_DAYS=13

# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"

# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment following line if you want to disable command autocorrection
# DISABLE_CORRECTION="true"

# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"

# Uncomment following line if you want to disable marking untracked files under
# VCS as dirty. This makes repository status check for large repositories much,
# much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment following line if you want to  shown in the command execution time stamp 
# in the history command output. The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|
# yyyy-mm-dd
# HIST_STAMPS="mm/dd/yyyy"

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(git)

source $ZSH/oh-my-zsh.sh

# User configuration

export PATH=$HOME/bin:/usr/local/bin:$PATH
# export MANPATH="/usr/local/man:$MANPATH"

# # Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# ssh
# export SSH_KEY_PATH="~/.ssh/dsa_id"

What could possibly be wrong ?可能有什么问题?

You most likely had an alias setup in your .bash_profile or .bashrc file.您很可能在.bash_profile.bashrc文件中设置了别名。 You will need to move this over to the .zshrc file.您需要将其移至.zshrc文件。

alias "composer"="php ~/.composer/composer.phar"

赶紧跑:

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

如果您已经将composer.phar移动到/usr/local/bin/composer您可以使用:

alias composer="/usr/local/bin/composer"

In the .zshrc file.在 .zshrc 文件中。

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git composer)

//EOF //EOF

https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/composer/composer.plugin.zsh https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/composer/composer.plugin.zsh

First check composer is installed or not if composer is installed then you need首先检查是否安装了 composer 如果安装了 composer 然后你需要

vim ~/.zshrc

add bellow line添加波纹管

alias composer="php /usr/local/bin/composer.phar"

How can check composer is installed or not if your normal terminal is working then composer --version if your normal terminal show same error.如果您的普通终端正在工作,如何检查 composer 是否安装,然后composer --version如果您的普通终端显示相同的错误。 cd /usr/local/bin/ check composer.phar is available or not. cd /usr/local/bin/检查 composer.phar 是否可用。

Edit ~/.zshrc and add:编辑~/.zshrc并添加:

export PATH="$HOME/.composer/vendor/bin:$PATH"

And refresh it:并刷新它:

. ~/.zshrc

By the way, there's a note about the PATH at the beginning of ~/.zshrc :顺便说一句,在~/.zshrc的开头有一个关于PATH的注释:

# If you come from bash you might have to change your $PATH.                                                                                                                    
# export PATH=$HOME/bin:/usr/local/bin:$PATH
  1. Open .zshrc and update plugins=(...other composer) ...other is your other plugins打开.zshrc并更新plugins=(...other composer) ...other 是你的其他插件
  2. Go to .composer/lalit*/ and type these commands: *= name of user转到.composer/lalit*/并输入以下命令:*= 用户名

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM