zsh 4.3.12
klon terbaru dari oh-my-zsh
Setelah menginstalnya secara manual (tidak menggunakan metode wget) setiap kali saya masuk, saya mendapatkan banyak kode yang dikeluarkan ke iterm2.
compdump () {
# undefined
builtin autoload -XUz
}
compinit () {
emulate -L zsh
setopt extendedglob
typeset _i_dumpfile _i_files _i_line _i_done _i_dir _i_autodump=1
typeset _i_tag _i_file _i_addfiles _i_fail=ask _i_check=yes _i_name
while [[ $# -gt 0 && $1 = -[dDiuC] ]]
do
case "$1" in
(-d) _i_autodump=1
shift
if [[ $# -gt 0 && "$1" != -[dfQC] ]]
then
_i_dumpfile="$1"
shift
fi ;;
(-D) _i_autodump=0
shift ;;
(-i) _i_fail=ign
shift ;;
(-u) _i_fail=use
shift ;;
(-C) _i_check=
shift ;;
esac
done
typeset -gA _comps _services _patcomps _postpatcomps
typeset -gA _compautos
typeset -gA _lastcomp
if [[ -n $_i_dumpfile ]]
then
typeset -g _comp_dumpfile="$_i_dumpfile"
else
typeset -g _comp_dumpfile="${ZDOTDIR:-$HOME}/.zcompdump"
fi
typeset -ga _comp_options
_comp_options=(bareglobqual extendedglob glob multibyte nullglob rcexpandparam unset NO_allexport NO_aliases NO_cshnullglob NO_cshjunkiequotes NO_errexit NO_globsubst NO_histsubstpattern NO_ignorebraces NO_kshglob NO_ksharrays NO_kshtypeset NO_markdirs NO_octalzeroes NO_shwordsplit NO_shglob NO_warncreateglobal)
typeset -g _comp_setup='local -A _comp_caller_options;
_comp_caller_options=(${(kv)options});
setopt localoptions localtraps ${_comp_options[@]};
local IFS=$'\'\ \\t\\r\\n\\0\''
exec </dev/null;
trap - ZERR
local -a reply
local REPLY'
typeset -ga compprefuncs comppostfuncs
compprefuncs=()
comppostfuncs=()
: $funcstack
compdef () {
local opt autol type func delete eval new i ret=0 cmd svc
local -a match mbegin mend
emulate -L zsh
setopt extendedglob
if (( ! $# ))
then
print -u2 "$0: I need arguments"
return 1
fi
while getopts "anpPkKde" opt
do
case "$opt" in
(a) autol=yes ;;
(n) new=yes ;;
([pPkK]) if [[ -n "$type" ]]
then
print -u2 "$0: type already set to $type"
return 1
fi
if [[ "$opt" = p ]]
then
type=pattern
elif [[ "$opt" = P ]]
then
type=postpattern
elif [[ "$opt" = K ]]
then
type=widgetkey
else
type=key
fi ;;
(d) delete=yes ;;
(e) eval=yes ;;
esac
done
shift OPTIND-1
if (( ! $# ))
then
print -u2 "$0: I need arguments"
return 1
fi
if [[ -z "$delete" ]]
then
if [[ -z "$eval" ]] && [[ "$1" = *\=* ]]
then
while (( $# ))
do
if [[ "$1" = *\=* ]]
then
cmd="${1%%\=*}"
svc="${1#*\=}"
func="$_comps[${_services[(r)$svc]:-$svc}]"
[[ -n ${_services[$svc]} ]] && svc=${_services[$svc]}
[[ -z "$func" ]] && func="${${_patcomps[(K)$svc][1]}:-${_postpatcomps[(K)$svc][1]}}"
if [[ -n "$func" ]]
then
_comps[$cmd]="$func"
_services[$cmd]="$svc"
else
print -u2 "$0: unknown command or service: $svc"
ret=1
fi
else
print -u2 "$0: invalid argument: $1"
ret=1
fi
shift
done
return ret
fi
func="$1"
[[ -n "$autol" ]] && autoload -Uz "$func"
shift
case "$type" in
(widgetkey) while [[ -n $1 ]]
do
if [[ $# -lt 3 ]]
then
print -u2 "$0: compdef -K requires <widget> <comp-widget> <key>"
return 1
fi
[[ $1 = _* ]] || 1="_$1"
[[ $2 = .* ]] || 2=".$2"
[[ $2 = .menu-select ]] && zmodload -i zsh/complist
zle -C "$1" "$2" "$func"
if [[ -n $new ]]
then
bindkey "$3" | read -A opt
[[ $opt[-1] = undefined-key ]] && bindkey "$3" "$1"
else
bindkey "$3" "$1"
fi
shift 3
done ;;
(key) if [[ $# -lt 2 ]]
then
print -u2 "$0: missing keys"
return 1
fi
if [[ $1 = .* ]]
then
[[ $1 = .menu-select ]] && zmodload -i zsh/complist
zle -C "$func" "$1" "$func"
else
[[ $1 = menu-select ]] && zmodload -i zsh/complist
zle -C "$func" ".$1" "$func"
fi
shift
for i
do
if [[ -n $new ]]
then
bindkey "$i" | read -A opt
[[ $opt[-1] = undefined-key ]] || continue
fi
bindkey "$i" "$func"
done ;;
(*) while (( $# ))
do
if [[ "$1" = -N ]]
then
type=normal
elif [[ "$1" = -p ]]
then
type=pattern
elif [[ "$1" = -P ]]
then
type=postpattern
else
case "$type" in
(pattern) if [[ $1 = (#b)(*)=(*) ]]
then
_patcomps[$match[1]]="=$match[2]=$func"
else
_patcomps[$1]="$func"
fi ;;
(postpattern) if [[ $1 = (#b)(*)=(*) ]]
then
_postpatcomps[$match[1]]="=$match[2]=$func"
else
_postpatcomps[$1]="$func"
fi ;;
(*) if [[ "$1" = *\=* ]]
then
cmd="${1%%\=*}"
svc=yes
else
cmd="$1"
svc=
fi
if [[ -z "$new" || -z "${_comps[$1]}" ]]
then
_comps[$cmd]="$func"
[[ -n "$svc" ]] && _services[$cmd]="${1#*\=}"
fi ;;
esac
fi
shift
done ;;
esac
else
case "$type" in
(pattern) unset "_patcomps[$^@]" ;;
(postpattern) unset "_postpatcomps[$^@]" ;;
(key) print -u2 "$0: cannot restore key bindings"
return 1 ;;
(*) unset "_comps[$^@]" ;;
esac
fi
}
typeset _i_wdirs _i_wfiles
_i_wdirs=()
_i_wfiles=()
autoload -Uz compaudit
if [[ -n "$_i_check" ]]
then
typeset _i_q
if ! eval compaudit
then
if [[ -n "$_i_q" ]]
then
if [[ "$_i_fail" = ask ]]
then
if ! read -q "?zsh compinit: insecure $_i_q, run compaudit for list.
Ignore insecure $_i_q and continue [y] or abort compinit [n]? "
then
print -u2 "$0: initialization aborted"
unfunction compinit compdef
unset _comp_dumpfile _comp_secure compprefuncs comppostfuncs _comps _patcomps _postpatcomps _compautos _lastcomp
return 1
fi
_i_wfiles=()
_i_wdirs=()
else
(( $#_i_wfiles )) && _i_files=("${(@)_i_files:#(${(j:|:)_i_wfiles%.zwc})}")
(( $#_i_wdirs )) && _i_files=("${(@)_i_files:#(${(j:|:)_i_wdirs%.zwc})/*}")
fi
fi
typeset -g _comp_secure=yes
fi
fi
autoload -Uz compdump compinstall
_i_done=''
if [[ -f "$_comp_dumpfile" ]]
then
if [[ -n "$_i_check" ]]
then
read -rA _i_line < "$_comp_dumpfile"
if [[ _i_autodump -eq 1 && $_i_line[2] -eq $#_i_files && $ZSH_VERSION = $_i_line[4] ]]
then
builtin . "$_comp_dumpfile"
_i_done=yes
fi
else
builtin . "$_comp_dumpfile"
_i_done=yes
fi
fi
if [[ -z "$_i_done" ]]
then
typeset -A _i_test
for _i_dir in $fpath
do
[[ $_i_dir = . ]] && continue
(( $_i_wdirs[(I)$_i_dir] )) && continue
for _i_file in $_i_dir/^([^_]*|*~|*.zwc)(N)
do
_i_name="${_i_file:t}"
(( $+_i_test[$_i_name] + $_i_wfiles[(I)$_i_file] )) && continue
_i_test[$_i_name]=yes
read -rA _i_line < $_i_file
_i_tag=$_i_line[1]
shift _i_line
case $_i_tag in
(\#compdef) if [[ $_i_line[1] = -[pPkK](n|) ]]
then
compdef ${_i_line[1]}na "${_i_name}" "${(@)_i_line[2,-1]}"
else
compdef -na "${_i_name}" "${_i_line[@]}"
fi ;;
(\#autoload) autoload -Uz "$_i_line[@]" ${_i_name}
[[ "$_i_line" != \ # ]] && _compautos[${_i_name}]="$_i_line" ;;
esac
done
done
if [[ $_i_autodump = 1 ]]
then
compdump
fi
fi
for _i_line in complete-word delete-char-or-list expand-or-complete expand-or-complete-prefix list-choices menu-complete menu-expand-or-complete reverse-menu-complete
do
zle -C $_i_line .$_i_line _main_complete
done
zle -la menu-select && zle -C menu-select .menu-select _main_complete
bindkey '^i' | read -A _i_line
if [[ ${_i_line[2]} = expand-or-complete ]] && zstyle -a ':completion:' completer _i_line && (( ${_i_line[(i)_expand]} <= ${#_i_line} ))
then
bindkey '^i' complete-word
fi
unfunction compinit compaudit
autoload -Uz compinit compaudit
return 0
}
compinstall () {
# undefined
builtin autoload -XUz
}
edit-command-line () {
# undefined
builtin autoload -XU
}
url-quote-magic () {
# undefined
builtin autoload -XU
}
compdef: unknown command or service: git
compdef: unknown command or service: git
compdef: unknown command or service: git
compdef: unknown command or service: git
compdef: unknown command or service: git
compdef: unknown command or service: git
Tab complete tidak berfungsi, plugin git tampaknya berfungsi dan tema juga berfungsi. Ini adalah instalasi oh-my-zsh saya yang ke-5 dan saya belum pernah melihat masalah ini sebelumnya.
Kesalahan compdef sama seperti pada #399, tetapi itu disebabkan oleh versi zsh yang lebih lama yang tidak memiliki penyelesaian git.
Coba jalankan ini dan lihat apakah itu memperbaikinya untuk Anda:
compaudit | xargs chmod g-w
Itu untuk saya.
Saya mengalami masalah yang sama juga. Rekomendasi di atas tidak berubah karena compaudit tidak mencetak baris apa pun.
Ada teori lain?
Berikut sedikit info lebih lanjut tentang sistem yang saya gunakan saat ini:
Mac OS X 10.5.8
zsh 4.3.4 (i386-apple-darwin9.0)
iTerm2 Build 1.0.0.20111020
Konfirmasikan bahwa pada N900 Maemo:
$ uname -a
Linux Nokia-N900 2.6.28.10-power49 #1 PREEMPT Jum 18 Nov 23:59:53 EET 2011 armv7l tidak diketahui
$ zsh -v
zsh 4.3.10 (lengan-tidak diketahui-linux-gnu)
Saya menemukan masalah yang saya alami. Saya telah menginstal zsh view homebrew di OS X. Dalam proses pindah ke ZSH, saya tidak menyadari bahwa jalur saya rusak dan menggunakan versi ZSH yang disediakan Apple dan bukan yang saya buat.
Perbaiki jalan, re-chsh, kebahagiaan pun terjadi.
Saya mengalami masalah yang sama ini. Saya menggunakan zsh 4.3.15 yang diinstal di /usr/local/bin/zsh dan git 1.7.3.2
Ini ada di mesin Centos 5.7 dan masalah terjadi dengan pengguna biasa tetapi tidak dengan pengguna root.
Anehnya saya memiliki instalasi yang identik pada mesin Centos 6 yang berfungsi dengan baik.
Anda tidak dapat benar-benar menyebut dua instalasi CentOS 5.7 dan 6.X serupa identik. Juga, apakah Anda yakin bahwa pengguna non-root Anda menggunakan zsh 4.3.15 yang diinstal di /usr/local/bin/zsh? Ada tiga perintah yang dapat Anda jalankan untuk memverifikasi:
echo $SHELL
which zsh
zsh --version
Saya memiliki masalah di mana saya pikir saya telah menginstal versi yang benar, tetapi cara jalur saya di mana saya menggunakan sistem menginstal versi ZSH, dan bukan yang saya instal.
Saya memiliki masalah yang sama dengan Arch Linux
zsh 4.3.15
audit | xargs chmod gw
zsh: perintah tidak ditemukan: compaudit
chmod: operan hilang setelah `g-w'
Saya juga melihat masalah ini, saat menjalankan zsh:
zsh 4.3.17 (x86_64-apple-darwin11.3.0)
Darwin ix.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
@excepttheweasel apa yang echo $SHELL berikan kepada Anda? Versi apa yang Anda dapatkan saat menjalankan executable itu?
gema $SHELL =>
/usr/local/bin/zsh
Yang versi 4.3.17 seperti yang diposting di atas, disediakan oleh homebrew.
Sepertinya kami menjalankan konfigurasi yang identik. Milik saya sepertinya berfungsi di luar kotak ketika saya mengatur homebrew dan oh-my-zsh di Air saya.
Saya juga mengalami masalah ini di salah satu server linux yang saya gunakan. Ia bekerja pada server linux yang berbeda dan dua komputer Apple yang berbeda. Saya juga menggunakan versi yang saya kompilasi (5.0.0).
Kode yang dikeluarkan tampaknya berasal dari baris ini:
compinit -i
Utas ini relevan:
http://www.zsh.org/mla/users/2007/msg00722.html
Khususnya email terakhir di utas yang menyarankan penghapusan .zcompdump sepertinya berhasil untuk saya. Saya tidak yakin apakah ini terkait, tetapi saya memang mengubah lokal saya dari sesuatu seperti latin9 ke en_CA.utf-8 sebelum melakukan ini.
saya memiliki sesuatu yang serupa.
zsh 5.0.0 (x86_64-apple-darwin11.4.0)
oh-myzsh (latest update)
plugin git yang diaktifkan
Saya mendapatkan kesalahan Error: compdef: unknown command or service: git
pelengkapan otomatis tampaknya dinonaktifkan
Ketika saya menonaktifkan plugin git, kesalahannya hilang tetapi pelengkapan otomatis masih mati
compaudit | xargs chmod g-w
tidak memperbaiki masalah
Ada ide?
Dan hal yang sama untuk saya.
➜ ~ zsh --version 2012-12-07 11:04:51 CET
zsh --version
zsh 4.3.12 (i686-pc-cygwin)
menarik oh-my-zsh semenit yang lalu hanya untuk memastikan.
Ketika saya memiliki masalah serupa dengan oh-my-zsh + zsh di cygwin saya menggunakan rm -f ~/.zcompdump; compinit
dan semuanya mulai berfungsi kembali, meskipun saya tidak tahu apakah itu akan membantu dalam kasus Anda.
Saya bisa _bersumpah_ Saya sudah melakukannya dua kali. Entah bagaimana, sekarang itu membantu.
Saya memiliki masalah serupa. Saya menjalankan OSX 10.5.8. Saya memutakhirkan ke 10.6.3 dan saya tidak lagi menerima kesalahan "compdef: perintah atau layanan tidak dikenal: git".
@Eustachy instruksi bekerja dengan baik untuk saya.
"rm -f ~/.zcompdump; compinit" memperbaiki masalah saya.
Saya mengalami masalah ini dengan sudo -s
saya perbaiki dengan:
compaudit | xargs chmod g-w
compaudit | xargs chown root
@Eustachy rm -f ~/.zcompdump; compinit
bekerja seperti pesona.
Terima kasih banyak. :+1:
@Eustachy Terima kasih banyak! :kue:
@Eustachy rm -f ~/.zcompdump; compinit
berhasil, terima kasih!
@Eustachy Terima kasih!
compaudit | xargs chmod g-w
bekerja untuk saya di Lion :+1:
rm -f ~/.zcompdump; compinit
gagal update terbaru di cygwin, ada bantuan?
Di Mac OS X 10.8.5 dengan zsh 5.0.2 saya menemukan kesalahan
compdef: unknown command or service: git
compdef: unknown command or service: git
compdef: unknown command or service: git
compdef: unknown command or service: git
compdef: unknown command or service: git
compdef: unknown command or service: git
Saya menyelesaikannya dengan menggabungkan saran di utas ini, tetapi, semua langkah diperlukan. Saya dapat mereproduksi situasi di mana itu terjadi beberapa kali dan menguji setiap kali. Secara khusus masalah ini diperkenalkan untuk saya dengan beralih dari zsh yang disertakan dengan mac os x ke 5.0.2.
compaudit | sudo xargs chmod g-w
compaudit | sudo xargs chown root
rm ~/.zcompdump*
compinit
@nnadboralski Anda pak, adalah penyelamat hidup.
Terima kasih banyak telah meluangkan waktu untuk memberikan solusi Anda di sini.
@nnadboralski Anda menyelamatkan hari saya!
Saya menambahkan baris-baris ini ke file zshrc.
@nnadboralski Hebat! Berhasil!
@fhoshino sama untuk saya
@robbyrussell ketika saya menjalankan ini di cygwin ia menanyakan pertanyaan ini.
~ rm -f ~/.zcompdump; kompit
zsh compinit: direktori tidak aman, jalankan compaudit untuk daftar.
Abaikan direktori yang tidak aman dan lanjutkan [y] atau batalkan compinit [n]?
Saya mendapatkan masalah ini di Cygwin 64bit pada mesin Windows 8, tetapi tidak mendapatkannya ketika saya melakukan instalasi yang sama pada mesin Windows 7 yang agak aneh. Tidak ada perbaikan di atas yang berfungsi untuk saya. Saya juga mendapatkan pertanyaan yang sama dengan @jitendravyas
Sekarang saya perhatikan bahwa .zcompdump bernama .zcompdump-modhelius-dell-5.0.2 dan file ini hampir kosong. Setelah menjalankan compinit, saya perhatikan bahwa file yang hanya bernama .zcompdump telah dibuat, mengambil konten file ini dan menyalinnya ke .zcompdump-modhelius-dell-5.0.2 memperbaiki masalah bagi saya.
@twilek Terima kasih. itu memperbaiki masalahnya sekarang
Saya mendapatkan kesalahan yang sama pada Fedora17 saya, versi zsh saya adalah 5.0.2. Saat membuka zsh, ini akan menampilkan:
compdef: unknown command or service: git
/home/fedora/.oh-my-zsh/plugins/git/git.plugin.zsh:152: parse error near `\n'
Saya memperbaiki masalah dengan cara ini
sudo mv /etc/{zshenv,zshrc}
MACOS 10.8.5
Terima kasih, @twilek , solusi Anda memperbaiki masalah saya.
Ini terjadi pada saya di cygwin. Ada lebih dari satu file compdump di ~/ (Satu dengan tanggal dan nama pengguna saya di nama file), solusi dari @nnadboralski menghapus -semua- file ini adalah tiketnya. Terima kasih!
Ya, @twilek. Cygwin di Windows 8.1 64 bit. Masalah terpecahkan sekarang. Terima kasih!
Terima kasih @twilek , perbaiki masalah saya. Cygwin (versi: 2.831 32-bit) di Windows 7
@twilek Terima kasih~, \ Anda menyelamatkan saya. [Menang 8.1 x64] [zsh 5.0.2]
Hai Semua, ini yang telah saya lakukan:
~ cd ~
~ ls -l .z*
-rw-rw-r-- 1 Tidak ada 36514 2月 17 21:39 .zcompdump
-rw-rw-r-- 1 Tidak ada 36514 2月 17 21:43 .zcompdump-hom-pc-i5-5.0.2
~ cat .zcompdump > .zcompdump-hom-pc-i5-5.0.2
Inilah yang berhasil bagi saya di Cygwin, Windows 7, zsh :
compaudit | xargs -I % chmod g-w "%"
compaudit | xargs -I % chown PUT_USERNAME_HERE "%"
rm ~/.zcompdump*
compinit
Saran di sini sebagian besar berfungsi di bawah Cygwin, tetapi penyelesaiannya tidak berfungsi sama seperti sebelumnya.
Secara khusus saya memiliki beberapa entri serupa (example-dev.example.com, example-stage.example.com, dll)
ini digunakan untuk menyelesaikan seperti:
ssh mantan
contoh ssh-
ssh contoh-d
ssh contoh-dev.example.com
tetapi sebaliknya sekarang selalu menyelesaikan satu entri yang bahkan tidak ada di bagian atas daftar.
@smiller171 ini mungkin karena penyelesaian kustom ssh dari host telah dihapus demi default zsh. Coba kembalikan PR #2602 menggunakan git revert 71d9420
@ajorpheus : Saya tidak tahu apa yang dilakukan compaudit | xargs
itu, tetapi beberapa baris terakhir hapus saja file .zcomdump* dan buat ulang setiap saat. Anda seharusnya baik-baik saja menghapusnya begitu saya pikir
@mcornella Dir mana git repo disimpan sehingga saya dapat kembali?
Cukup cd ke direktori oh-my-zsh dan kembalikan komit itu: cd $ZSH && git revert 71d9420
. Biasanya oh-my-zsh diinstal di ~/.oh-my-zsh
Mencoba solusi lain yang disebutkan, tetapi dalam lingkungan yang serupa (oh-my-cygwin/cygwin64/Powershell/Win8.1), solusinya [ https://github.com/robbyrussell/oh-my-zsh/issues/630#issuecomment -28125976] dari @Twilek di atas adalah yang berhasil untuk saya. Terima kasih!
Saya memiliki masalah yang sama pada Windows 8 dengan cygwin (instalasi baru hari ini) dan zsh 5.0.2. @twilek solusi Anda berhasil untuk saya. Terima kasih!
@smiller171 bersorak sobat. bekerja sempurna sekarang. membuatnya bekerja pada Win 8 saya dengan Cygwin (aneh, saya memiliki komputer yang hampir identik yang tidak pernah mengalami masalah ini!)
terima kasih @twilek windows 8.1 cygwin64 diperbaiki
terima kasih @twilek , itu juga memperbaikinya untuk saya:
cygwin: 1.7.32 (0.274/5/3)
zsh: 5.0.6 (i686-pc-cygwin)
oh-my-zsh: 96e4e5d
Hebat @twilek solusi Anda berfungsi di
@twilek ' solusi bekerja untuk Babun pada Windows 8 x64 juga! Terima kasih!
@twilek solusi bekerja pada Windows 8.1 x64, juga.
Solusi @twilek baru saja menyelamatkan saya tetapi mengapa ini perlu?
@twilek solusi bekerja untuk saya (Windows 8 x64, babun, oh-my-zsh, zsh 5.0.2). Terima kasih!
@twilek Terima kasih. Saya memiliki masalah yang sama.
$cp .zcompdump .zcompdump-Aspire-5.0.6
Untuk membuat lebih umum apa yang @ajorpheus taruh di atas (Anda dapat menyalin dan menempel ini dengan komentar, mereka tidak akan berjalan, tetapi hanya akan muncul di riwayat perintah Prompt Anda:
# This will perform chmod g-w for each file returned by compaudit
# to remove write access for group
compaudit | xargs chmod g-w,o-w
# This will perform chown to current user (Windows and Linux)
# for each file returned by compaudit
compaudit | xargs chown $USER
# Remove all dump files (which normally speed up initialization)
rm ~/.zcompdump*
# Regenerate completions file
compinit
Tidak disarankan untuk menjalankan ini sepanjang waktu, karena ini akan sedikit memperlambat startup shell Anda dan sepenuhnya meniadakan manfaat dari file dump.
Jika Anda tidak ingin mereka dihasilkan dan karena itu rusak, ganti saja di mana pun compinit dipanggil di skrip mulai dengan compinit -D untuk menghindari pembuatan file dump sama sekali.
Saya memiliki masalah yang sama dengan babun di windows 7, menggunakan tmux memberi saya kesalahan itu.
Saya memecahkan mengubah ini:
di .oh-my-zsh/oh-my-zsh.sh
# Save the location of the current completion dump file.
ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
# to:
ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump"
Saya tidak tahu implikasi dari mod ini, tetapi tampaknya berhasil sekarang
rm -f ~/.zcompdump; compinit
melakukan trik di sini juga. Terima kasih!!
Dalam tradisi open-source yang dihormati waktu "Jika Anda ingin bug dibunuh, ambil kapaknya sendiri.", Saya telah mengajukan permintaan tarik bahwa:
Dan Gurita melihatnya, dan itu bagus. :gurita:
Saya masih melihat masalah ini di MacOS 10.10.3, ada orang lain? Saya mencoba semua perbaikan yang tercantum di atas, tetapi setiap kali saya memulai shell baru saya mendapatkan:
compdef: perintah atau layanan tidak dikenal: git
compdef: perintah atau layanan tidak dikenal: git
zsh 5.0.7 (x86_64-apple-darwin14.0.0)
Saya mengkloning oh-my-zsh pagi ini dan saat ini memiliki revisi ini:
3ea33841863c4f5f22a27e64ae7950d901b674af
_Memperbarui_
Tidak yakin bagaimana mungkin, tetapi beralih ke zsh 5.0.8 (x86_64-apple-darwin14.3.0) dari Brew sepertinya memperbaikinya!
Diperbaiki sementara oleh solusi @tomek rm -f ~/.zcompdump; compinit
ini untuk sementara memperbaiki kesalahan peluncuran, kesalahan git, dan tidak ada masalah pelengkapan otomatis untuk saya, TETAPI, mereka kembali saat berikutnya saya membuka Shell.
Saya menggunakan Mac, tidak pernah menggunakan zsh sebelumnya, baru saja menginstal oh-my-zsh dan mengalami masalah ini. Tidak ada perubahan pada pengaturan apa pun dari default.
ProductName: Mac OS X
ProductVersion: 10.10.4
BuildVersion: 14E46
which zsh
/usr/local/bin/zsh
zsh --version
zsh 5.0.6 (x86_64-apple-darwin14.0.0)
MEMPERBARUI
Setelah menghapus sepenuhnya dan menyeluruh direktori zsh, oh-my-zsh, dan homebrew, chown -R $USER /Library/
dan Brew kepada saya, lalu menginstal ulang semuanya, SEKARANG pelengkapan otomatis saya berfungsi dan banyak kesalahan/konfigurasi hilang, TAPI , saya masih mendapatkan kesalahan compdef: unknown command or service: git
, bahkan setelah mencoba solusi di atas, kesalahan kembali pada setiap jendela terminal baru.
Saya menemui masalah ini setelah memigrasikan data dari Air lama ke Pro baru melalui asisten migrasi.
Memperbaiki masalah setelah menjalankan perintah di bawah dari salah satu komentar di atas.
compaudit | sudo xargs chmod g-w
compaudit | sudo xargs chown root
rm ~/.zcompdump*
compinit
saya hanya berkomentar
plugins=(git)
di .zshrc dan perbaiki
@zxkane Ini bekerja untuk saya. tapi saya perlu login sebagai root untuk memperbaiki masalah ini.
@BigForNothing Terima kasih atas cuplikannya, ini berhasil untuk saya :+1:
Sebagai catatan - menambahkan gitfast memperbaiki masalah ini untuk saya
plugin=(git gitfast)
Terima kasih, @pfdai. Bekerja seperti pesona, berjalan dengan plugins=(git gitfast mvn zsh-syntax-highlighting)
sekarang. :+1:
Terima kasih @pfdai ! Menambahkan gitfast melakukannya untuk saya juga! Tidak ada hal lain yang berhasil untuk saya!
@pfdai Terima kasih banyak!
saya mendapat
compinit:496: no such file or directory: /usr/local/share/zsh/site-functions/_git
compinit:shift:498: shift count must be <= $#
compinit:496: no such file or directory: /usr/local/share/zsh/site-functions/_j
compinit:shift:498: shift count must be <= $#
ketika saya melakukan compinit
Sama.
Saya menjalankan zsh -xv &> >(tee ~/omz-debug.log 2>/dev/null)
dan mencari teks kesalahan yang saya terima
Untuk kesalahan ini:
complete:13: command not found: compdef
Saya memperbaikinya di file ~/.nvm/bash_completion
pada baris 96, saya mengomentari baris ini
complete -o default -F __nvm nvm
Untuk kesalahan ini:
__rvm_cleanse_variables: function definition file not found
command not found: rvm_error
Saya harus mengomentari beberapa baris di sekitar .rvm/scripts/initialize
__rvm_cleanse_variables ||
if [[ -n "${ZSH_VERSION:-}" ]]
then rvm_error "ZSH Error, run \`rm -f ~/.zcompdump\` and try again."
fi
@nnadboralski-zz Terima kasih Bro!! Anda membuat hari saya.
Saya baru saja mendapatkan kesalahan ini pada pembaruan hari ini:
~/.oh-my-zsh/lib/directories.zsh:32: command not found: compdef
Jalankan upgrade_oh_my_zsh
untuk perbaikan.
ya, itu memperbaikinya. Terima kasih.
Pada Rabu, 8 Mei 2019 di 02:14 Marc Cornellà [email protected]
menulis:
Jalankan upgrade_oh_my_zsh untuk perbaikan.
—
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/robbyrussell/oh-my-zsh/issues/630#issuecomment-490375556 ,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AAS7JR2JZOXQOH2EK3PKQC3PUJ4UFANCNFSM4ABRMYGQ
.
upgrade_oh_my_zsh
tidak memperbaikinya
Coba rm $ZSH_COMPDUMP
, lalu exec zsh
. Lihat FAQ wiki untuk detailnya.
menghapus compdump juga tidak berhasil, tetapi sepertinya itu adalah kesalahan sintaks dalam file .zshrc saya.
plugin saya terdaftar sebagai daftar yang dipisahkan koma:
plugins=(git, docker)
dan pesan kesalahan _exactly_ benar, dengan koma menjuntai:
[oh-my-zsh] plugin 'git,' not found
menghapus koma memperbaiki kesalahan. semoga bermanfaat bagi orang lain di luar sana. itu salah satu kesalahan ketik yang sulit untuk dilihat untuk memulai, dan lebih sulit untuk dikenali ketika Anda menghabiskan sebagian besar hari Anda bekerja dalam skrip atau bahasa di mana daftar spasi yang digambarkan akan menjadi kesalahan.
Jadi saya menjalankan semua perbaikan dan tidak ada yang berhasil untuk saya ... kesalahan saya sedikit berbeda. Itu bukan dari panggilan fungsi lengkap tetapi panggilan evaluasi ...
(eval):6: command not found: compdef
Jadi setelah mencoba yang lainnya, saya mulai mencari ke dalam file ~/.zshrc
untuk semua perintah eval
. Saya perhatikan bahwa oh-my-zsh telah meletakkan semua perintah tipe eval di bagian bawah file yang dibungkus dengan pernyataan if untuk memastikan perintah itu ada (yang saya lakukan/memang ada, tetapi tidak bisa terlalu berhati-hati).
Saya menemukan dua yang dipanggil sebelum oh-my-zsh diinisialisasi dan memutuskan untuk memindahkannya ke bagian bawah file. Setelah memindahkannya dan membungkusnya dalam pernyataan if untuk pemeriksaan di masa mendatang, konfigurasi saya, ini adalah dua yang saya pindahkan ...
if command -v thefuck 1>/dev/null 2>&1; then
eval $(thefuck --alias)
fi
if command -v pipenv 1>/dev/null 2>&1; then
eval "$(pipenv --completion)"
fi
Mungkin hanya salah satu dari ini yang menyebabkan masalah, tetapi saya memindahkan semua eval
pernyataan terkait ke bagian bawah file ~/.zshrc
.
Saya harap ini membantu seseorang dan menghemat waktu!
Komentar yang paling membantu
Di Mac OS X 10.8.5 dengan zsh 5.0.2 saya menemukan kesalahan
Saya menyelesaikannya dengan menggabungkan saran di utas ini, tetapi, semua langkah diperlukan. Saya dapat mereproduksi situasi di mana itu terjadi beberapa kali dan menguji setiap kali. Secara khusus masalah ini diperkenalkan untuk saya dengan beralih dari zsh yang disertakan dengan mac os x ke 5.0.2.