在macOS终端中无法执行命令,为什么?

4

我有一个问题..

  1. 我安装了ZSH、Composer和Laravel Installer;
  2. 在~/.zshrc中,我添加了“~/.composer/vendor/bin”到$PATH中。
  3. 当我执行“echo $PATH”时,我得到的字符串是:

~/.composer/vendor/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:

但是当我尝试执行

laravel new blog 

我遇到了一个错误消息

zsh:找不到命令:laravel。

如果我创建别名-它可以正常工作。

没有别名,Composer也无法正常工作。

那么我的问题在哪里?我认为我更改了$ PATH以不创建别名,但它不起作用。

    # Path to your oh-my-zsh installation.
    export ZSH=/Users/davydov/.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="robbyrussell"

    # Uncomment the following line to use case-sensitive completion.
    # CASE_SENSITIVE="true"

    # Uncomment the following line to disable bi-weekly auto-update checks.
    # DISABLE_AUTO_UPDATE="true"

    # Uncomment the following line to change how often to auto-update (in days).
    # export UPDATE_ZSH_DAYS=13

    # Uncomment the following line to disable colors in ls.
    # DISABLE_LS_COLORS="true"

    # Uncomment the following line to disable auto-setting terminal title.
    # DISABLE_AUTO_TITLE="true"

    # Uncomment the following line to enable command auto-correction.
    # ENABLE_CORRECTION="true"

    # Uncomment the following line to display red dots whilst waiting for completion.
    # COMPLETION_WAITING_DOTS="true"

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

    # Would you like to use another custom folder than $ZSH/custom?
    # ZSH_CUSTOM=/path/to/new-custom-folder

    # 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)

    # User configuration

    export PATH="~/.composer/vendor/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:"
    # export MANPATH="/usr/local/man:$MANPATH"

    source $ZSH/oh-my-zsh.sh

    # You may need to manually set your language environment
    # export LANG=en_US.UTF-8

    # 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"

    # Set personal aliases, overriding those provided by oh-my-zsh libs,
    # plugins, and themes. Aliases can be placed here, though oh-my-zsh
    # users are encouraged to define aliases within the ZSH_CUSTOM folder.
    # For a full list of active aliases, run `alias`.
    #
    # Example aliases
    # alias zshconfig="mate ~/.zshrc"
    # alias ohmyzsh="mate ~/.oh-my-zsh"

    source  ~/.aliases

Location of .composer and .zshrc


你能否编辑你的问题并附上你的zsh配置? - Fabio Antunes
在你的echo $PATH中不应该显示~。请在你的zshrc文件中将~替换为$HOME,或确保其中的~/没有被引号包含。 - Mat
1个回答

2

我在$PATH中添加了"~/.composer/vendor/bin",它在~/.zshrc文件中。

"~/"~/.zshrc中不会被展开,你需要使用完整路径(例如/Users/groovyme/.composer/vendor/bin)或者一个环境变量(如$HOME),它可以扩展到该完整路径。

希望对你有所帮助。


如果你不习惯于Shell编程,那么这将是一个令人不便的惊喜。 - Sven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接