Stop error "permission denied: /npm_completion"

This commit is contained in:
Alexandre Nicastro 2017-10-06 23:28:43 -03:00 committed by GitHub
commit 7b3954dda7

View file

@ -1,12 +1,44 @@
(( $+commands[npm] )) && {
# Check if ZSH_CACHE_DIR is set.
# If not, proceeds to find any existing directories containing npm_completion.
# If can't find any, defaults to ZSH_CACHE_DEFAULT_DIR and sets ZSH_CACHE_DIR accordingly.
if [ !${ZSH_CACHE_DIR} ]; then
# Default cache directory in case none was found containing npm_completion file.
ZSH_CACHE_DEFAULT_DIR="${HOME}/.oh-my-zsh/cache"
# List of directories to look for npm_completion file.
ZSH_CACHE_POSSIBLE_DIR=(
"${HOME}/.oh-my-zsh/cache"
"${HOME}/.zsh/cache"
"${HOME}/.antigen/bundles/robbyrussell/oh-my-zsh/cache"
"${HOME}/.tmp/cache"
)
# Loop list of possible cache directories containing npm_completion file
# and set ZSH_CACHE_DIR to the first found.
for d in "${ZSH_CACHE_POSSIBLE_DIR[@]}"; do
# Exits loop if previous iteration already found an existing ${d}/npm_completion
# & already set ZSH_CACHE_DIR to ${d}.
[ ${ZSH_CACHE_DIR} ] && break
# If current exists then sets ZSH_CACHE_DIR to it
[ -f "${d}/npm_completion" ] && ZSH_CACHE_DIR=${d}
done
# If ZSH_CACHE_DIR still not set, then set to ZSH_CACHE_DEFAULT_DIR.
[ -z ${ZSH_CACHE_DIR} ] && ZSH_CACHE_DIR=${ZSH_CACHE_DEFAULT_DIR}
fi
__NPM_COMPLETION_FILE="${ZSH_CACHE_DIR}/npm_completion"
if [[ ! -f $__NPM_COMPLETION_FILE ]]; then
if [ ! -f $__NPM_COMPLETION_FILE ]; then
npm completion >! $__NPM_COMPLETION_FILE 2>/dev/null
[[ $? -ne 0 ]] && rm -f $__NPM_COMPLETION_FILE
[ $? -ne 0 ] && rm -f $__NPM_COMPLETION_FILE
fi
[[ -f $__NPM_COMPLETION_FILE ]] && source $__NPM_COMPLETION_FILE
[ -f $__NPM_COMPLETION_FILE ] && source $__NPM_COMPLETION_FILE
unset __NPM_COMPLETION_FILE
}
@ -43,4 +75,3 @@ alias npmst="npm start"
# Run npm test
alias npmt="npm test"