Ohmyzsh: Pembaruan terbaru, agnoster dengan font powerline, karakter tidak dalam jangkauan

Dibuat pada 19 Jun 2015  ·  34Komentar  ·  Sumber: ohmyzsh/ohmyzsh

Ada yang suka situasi saya?

Komentar yang paling membantu

Ah! Ini mungkin masalah lokal. Kesalahan "karakter tidak dalam jangkauan" itu terjadi ketika zsh 's print atau echo menemukan urutan keluar yang tidak valid untuk penyandian yang sedang digunakannya. Anda dapat menyebabkannya dengan menyetel LC_CTYPE Anda ke lokal non-UTF-8.

[@ in ~]
$ echo '\u2603'
☃
[@ in ~]
$ LC_CTYPE=C echo '\u2603'
zsh: character not in range

Dengan menggunakan teknik ini, saya dapat memecahkan agnoster dengan mengubah lokal.

agnoster broken with lc_ctype c

Jika ini yang melakukannya untuk Anda, masuk akal bahwa perubahan terbaru merusak tema untuk Anda, karena beralih dari menggunakan karakter Unicode tunggal literal untuk pemisah segmen ke urutan pelarian '\uXXXX' , tetapi hanya pada Mac.

Tampak terkait dengan #2609 dan #1602, yang juga merupakan masalah lokal yang mengacaukan keluaran terminal.

Apa output dari locale untuk Anda?

Semua 34 komentar

Kedengarannya seperti #3713. Powerline mengubah poin kode penggunaan pribadi yang mereka gunakan beberapa waktu lalu; jawabannya biasanya untuk memperbarui semuanya dan mengunduh ulang font powerline .

Bisakah Anda lebih spesifik dengan apa yang terjadi?

Besar. Bisakah Anda menutup masalah jika sudah diperbaiki untuk Anda?

Andrew

Pada 21 Juni 2015, pukul 23.12, Ryan Chan [email protected] menulis:

Pembaruan baru diselesaikan


Balas email ini secara langsung atau lihat di GitHub.

Saya mendapat kesalahan serupa, dengan pembaruan terbaru (Mac / Yosemite 10.10.3 / iTerm2). Menggunakan tema agnoster , dengan font powerline Inconsolata-g . Inilah yang saya lihat sebelum Prompt saya:

prompt_end:2: character not in range

Saya mencoba beberapa hal: menghapus font, lalu mengambil versi terbaru (yang berusia 10 bulan). Mendapat pesan kesalahan yang sama, bahkan setelah beralih ke beberapa font powerline lainnya. Keluar dari iTerm2 setiap kali menambahkan font baru, tetapi tidak ada cinta.

Saya kembali ke versi sebelumnya dari file agnoster.zsh-theme , dan itu sepertinya menyelesaikan masalah bagi saya.

Oke, kita bisa melacak ini.

Bisakah Anda memposting output dari

setopt nullglob; md5 ~/Library/Fonts/Inc* /Library/Fonts/Inc* /System/Library/Fonts/Inc*

jadi kita bisa melihat apakah kita sedang melihat file font yang sama persis? Inilah yang saya dapatkan.

[@ in ~]
$ setopt nullglob; md5 ~/Library/Fonts/Inc* /Library/Fonts/Inc* /System/Library/Fonts/Inc*
MD5 (/Users/janke/Library/Fonts/Inconsolata for Powerline.otf) = 992963d9ef34d73f56f8b58451ed2fc5
MD5 (/Users/janke/Library/Fonts/Inconsolata-dz for Powerline.otf) = c11e2bd5760352414109b48c8f902c0b
MD5 (/Users/janke/Library/Fonts/Inconsolata.otf) = 0fbe014c1f0fb5e3c71140ff0dc63edf
[@ in ~]
$

Andrew. Tidak yakin apakah Anda sedang berbicara dengan saya, atau ke poster asli (Ryan). Inilah keluaran saya:

MD5 (/Users/fjung/Library/Fonts/Inconsolata for Powerline.otf) = 992963d9ef34d73f56f8b58451ed2fc5  
MD5 (/Users/fjung/Library/Fonts/Inconsolata-g for Powerline (1).otf) = 3e8a48f3160bc727eb98e524f35b3a00  
MD5 (/Users/fjung/Library/Fonts/Inconsolata.otf) = 0fbe014c1f0fb5e3c71140ff0dc63edf

@avoision Ya, berbicara dengan Anda. :)

Oke, itulah font Powerline Inconsolata versi saat ini. Mereka cocok dengan milik saya, dan saya memeriksa ulang mereka terhadap file saat ini di powerline/font untuk memastikan. (Saya juga menginstal Inconsolata-g.)

Apakah Anda menjalankan zsh secara lokal, atau apakah Anda kebetulan ssh masuk ke sistem lain, di mana pengaturan OMZ mungkin berbeda?

Apakah Anda menggunakan salah satu dari tmux atau layar?

Pada OS X Mavericks 10.9.5 / iTerm2 2.1.1, Inconsolata-g dan tema OMZ agnoster berfungsi dengan baik untuk saya.

screen shot 2015-06-25 at 11 54 40 pm

Sama di Yosemite 10.10.3 / iTerm2 2.1.1.

yosemite agnoster inconsolata-g

Tampilan font yang benar, dan tidak ada kesalahan "di luar jangkauan". Hmmm.

Ah! Ini mungkin masalah lokal. Kesalahan "karakter tidak dalam jangkauan" itu terjadi ketika zsh 's print atau echo menemukan urutan keluar yang tidak valid untuk penyandian yang sedang digunakannya. Anda dapat menyebabkannya dengan menyetel LC_CTYPE Anda ke lokal non-UTF-8.

[@ in ~]
$ echo '\u2603'
☃
[@ in ~]
$ LC_CTYPE=C echo '\u2603'
zsh: character not in range

Dengan menggunakan teknik ini, saya dapat memecahkan agnoster dengan mengubah lokal.

agnoster broken with lc_ctype c

Jika ini yang melakukannya untuk Anda, masuk akal bahwa perubahan terbaru merusak tema untuk Anda, karena beralih dari menggunakan karakter Unicode tunggal literal untuk pemisah segmen ke urutan pelarian '\uXXXX' , tetapi hanya pada Mac.

Tampak terkait dengan #2609 dan #1602, yang juga merupakan masalah lokal yang mengacaukan keluaran terminal.

Apa output dari locale untuk Anda?

Tidak menggunakan tmux atau layar, dan menjalankan zsh secara lokal.

Saya tidak terbiasa dengan lokal, tetapi sepertinya Anda telah melihat sumber masalahnya. Mencari sedikit lebih banyak info tentang apa itu lokal, tetapi inilah hasil saya (yang sepertinya cocok dengan pengujian Anda):

LANG=  
LC_COLLATE="C"  
LC_CTYPE="C"  
LC_MESSAGES="C"  
LC_MONETARY="C"  
LC_NUMERIC="C"  
LC_TIME="C"  
LC_ALL=  

Skor. Sepertinya itu akan berhasil. (Dan mungkin mengacaukan beberapa hal terkait bahasa lainnya untuk Anda, seperti jumlah karakter atau regex.)

Lihat melalui zshrc Anda dan file startup lainnya dan lihat apakah Anda dapat melihat di mana itu diatur, dan matikan. Itu semua harus seperti en_US.UTF-8 (atau xx_YY.UTF-8 jika Anda berbicara bahasa lain). Mac Anda harus default ke en_US.UTF-8 atau serupa, jadi mungkin diganti di suatu tempat.

Jika Anda tidak dapat menemukan di mana ia disetel, gunakan omz_diagnostic_dump dari diagnostik ini.zsh untuk membuat dump file konfigurasi Anda dan mempostingnya sebagai intinya, dan kami akan mengerjakannya bersama Anda.

Hai teman-teman,

Saya mengalami masalah serupa. Setelah memutakhirkan oh-my-zsh tema agnoster "rusak". Saya menginstal ulang oh-my-zsh dan font saya (Menlo untuk Powerline) dan sekarang saya hanya mengalami masalah dengan karakter unicode.

Ini adalah output lokal saya:
image

Ada ide apa itu? Tepat sebelum upgrade semuanya bekerja dengan baik... haruskah saya memutar kembali?

Terima kasih

@luisfontes : Lokal Anda terlihat baik-baik saja. (Bahasa apa pun yang valid akan bekerja dengan agnoster, asalkan ada .UTF-8 di akhir.) Jangan mundur dulu; mari kita selesaikan ini dan membuat Anda siap untuk jangka panjang.

Dari tampilan tangkapan layar Anda, saya berasumsi Anda menjalankan iTerm2 di Mac OS X dengan tema gelap seperti Solarized-Dark. Karakter kecil "x dalam kotak" itulah yang ditampilkannya saat font saat ini tidak memiliki mesin terbang untuk karakter tertentu. Ini merupakan gejala memiliki font Powerline usang (dengan poin kode lama) yang diinstal, atau menggunakan font non-powerline, terutama jika itu terjadi setelah pembaruan OMZ.

iTerm memiliki dua pengaturan font terpisah: satu untuk ASCII, dan satu untuk font non-ASCII. Periksa profil Anda dan pastikan keduanya diatur ke font powerline-patched. Tetapi karena itu berfungsi untuk Anda sebelum pembaruan, ini mungkin bukan masalahnya.

Di mana Anda mendapatkan font "Menlo for Powerline"? Tidak ada Menlo di repo powerline/font resmi; mereka menggunakan Meslo sebagai gantinya. Saya ingin tahu apakah itu dari sumber lain yang tidak memperbarui ke poin kode baru.

Beberapa tes yang harus dilakukan: mari dapatkan md5s untuk font Anda sebagai referensi, uji output karakter, dan gunakan font referensi yang dikenal bagus untuk perbandingan.

Jalankan ini dan posting hasilnya sebagai teks: setopt nullglob; md5 {~,'',/System}/Library/Fonts/Me[ns]lo*

$ setopt nullglob; md5 {~,'',/System}/Library/Fonts/Me[ns]lo*
$ setopt nullglob; md5 {~,'',/System}/Library/Fonts/Me[ns]lo*
MD5 (/Users/janke/Library/Fonts/Meslo LG L DZ Regular for Powerline.otf) = a08c4b5ed47c9181f495d2561a55e778
MD5 (/Users/janke/Library/Fonts/Meslo LG L Regular for Powerline.otf) = f7a620a931ed7c0af3e759b2cf2bd19c
MD5 (/Users/janke/Library/Fonts/Meslo LG M DZ Regular for Powerline.otf) = bc5fc263d03dc2f99553def1a7b85ec9
MD5 (/Users/janke/Library/Fonts/Meslo LG M Regular for Powerline.otf) = 26ec762533696e9c4429ffeb6c32a97e
MD5 (/Users/janke/Library/Fonts/Meslo LG S DZ Regular for Powerline.otf) = 547966c5014a2be0c32e19bea74687a2
MD5 (/Users/janke/Library/Fonts/Meslo LG S Regular for Powerline.otf) = 70096b5b3ff92ba4d5abcaea3cb49964
MD5 (/Users/janke/Library/Fonts/MesloLGL-Bold.ttf) = fc00e91cb9eadf7a667c4d8af1b4926d
MD5 (/Users/janke/Library/Fonts/MesloLGL-BoldItalic.ttf) = bed4ce6c1c3f0dc41c592a58f44b5cf4
MD5 (/Users/janke/Library/Fonts/MesloLGL-Italic.ttf) = 4e7b16ce391075c219118bd208778d4a
MD5 (/Users/janke/Library/Fonts/MesloLGL-Regular.ttf) = c1bad38fa12a7967d5a546f24d22e6fd
MD5 (/Users/janke/Library/Fonts/MesloLGM-Bold.ttf) = 2a64391bfb6a980844d5611b9ab3f2a8
MD5 (/Users/janke/Library/Fonts/MesloLGM-BoldItalic.ttf) = e01ed740cce778704c9a901d3ba058a7
MD5 (/Users/janke/Library/Fonts/MesloLGM-Italic.ttf) = 6d9ea6fd483bc22a0b8514292c2eb1de
MD5 (/Users/janke/Library/Fonts/MesloLGM-Regular.ttf) = c353e3dabba482f3721f67c6a43f1744
MD5 (/Users/janke/Library/Fonts/MesloLGS-Bold.ttf) = d351bddc9bca1343e1b891fccb719bf0
MD5 (/Users/janke/Library/Fonts/MesloLGS-BoldItalic.ttf) = 5d696e8bacda2a3ee5115d059154d891
MD5 (/Users/janke/Library/Fonts/MesloLGS-Italic.ttf) = 02b482d001f9d6d37fd61de0157a3295
MD5 (/Users/janke/Library/Fonts/MesloLGS-Regular.ttf) = f9373d92c4d0cdb45c1406bead1f8c07
MD5 (/System/Library/Fonts/Menlo.ttc) = 2a94310b555c51e01ce5e79b06d8d2d2

Jalankan ini dan posting hasilnya sebagai tangkapan layar. Seharusnya terlihat seperti ini (dengan segitiga "pemisah segmen" dan simbol cabang sebagai dua karakter pertama) jika Anda memiliki font Powerline terbaru yang ditambal dengan benar.

echo "\ue0b0 \ue0a0 \u2b80 \u00b1 \u27a6 \u2718 \u26a1 \u2699"

screen shot 2015-06-26 at 2 28 14 pm

Dan kemudian unduh font Meslo dari powerline/font repo resmi dan coba itu, jalankan tes yang sama. Varian Meslo mana pun akan berfungsi; Saya suka "Meslo LG M Regular untuk Powerline".

Terima kasih @apjanke , masalahnya ada pada font Menlo for Powerline . Saat membaca posting Anda, saya menginstal Meslo untuk Powerline dan semuanya kembali normal. Terima kasih lagi untuk jawaban rinci Anda.

Terima kasih @apjanke Saya mengalami masalah yang sama dan menemukan lokal saya telah diatur ulang ke "C". setelah mengatur ulang ke en_US.UTF-8 semuanya terlihat. Debug yang luar biasa!

Halo kawan-kawan,

Saya mengalami masalah yang sama tetapi hanya untuk dua simbol. Ketika saya mengeksekusi

echo "ue0b0 ue0a0 u2b80 u00b1 u27a6 u2718 u26a1 u2699"

Inilah yang saya dapatkan:

captura de pantalla 2015-07-20 a las 20 10 25

Lokal saya terlihat seperti ini:
lokal
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

Saya memeriksa dan versi Meslo, iTerm2, oh-my-zsh dan solarized yang saya miliki adalah yang terbaru.

Powerline berfungsi dengan baik di Terminal Mac OS X biasa.

Saya juga telah mencoba font lain (dari https://github.com/powerline/fonts) tanpa hasil.

Apakah Anda punya ide?

Terima kasih banyak!

Alex.

Halo @agarcial.

Kedua simbol khusus itu adalah simbol khusus Powerline yang menggunakan poin kode "area pribadi". Mungkin iTerm tidak mengambil font Powerline untuk simbol khusus, dan itu kembali ke font default yang kebetulan memiliki mesin terbang untuk simbol Unicode standar, tetapi bukan yang kustom Powerline.

Pengaturan lokal Anda salah dikonfigurasi. (Lokal "C" sebagian besar untuk pemrosesan program bytewise, bukan untuk tampilan teks yang dapat dibaca manusia.) Meskipun itu mungkin tidak menyebabkan masalah khusus ini dengan font Powerline. Dan sepertinya pengaturan iTerm2 Anda mungkin juga demikian. Jika berfungsi di Terminal.app, maka itu berarti Anda telah menginstal font Powerline yang benar, dan apa yang salah mungkin khusus untuk iTerm2.

Di iTerm2, periksa pengaturan Profil Anda untuk setiap profil yang Anda gunakan. Di bawah tab Terminal, di bagian Emulasi Terminal, Pengodean Karakter harus "Unicode (UTF-8)" (atau beberapa opsi Unicode lain yang cocok dengan pengaturan lokal yang telah Anda atur di dalam sesi Anda). Dan aktifkan opsi "Setel variabel lokal secara otomatis" di bawah Lingkungan di bagian bawah. Di bawah tab Teks, pastikan Anda memiliki Font Reguler dan font Non-ASCII yang disetel ke font yang mendukung powerline. (Simbol ini non-ASCII, jadi itulah pengaturan yang akan digunakan.)

Jika itu tidak memperbaiki semuanya, periksa file konfigurasi zsh untuk melihat apakah mereka menyetel variabel LC_* dan memperbaikinya. (Perbaikan yang benar mungkin dengan menghapus baris apa pun yang melakukannya, dan biarkan saja mewarisi dari lingkungan panggilan yang disediakan iTerm2 atau Terminal.)

@ryanchans Jika ini diperbaiki untuk Anda, bisakah Anda menutup masalah ini?

Hebat !, itu memperbaikinya :-)

Masalahnya adalah saya memiliki Font Reguler dengan benar di set iTerm2 tetapi bukan yang Non-Ascii.

Bekerja dengan sempurna sekarang.

Terima kasih banyak atas bantuan Anda!

Alex.

@agarcial Senang mendengarnya. Terima kasih kembali!

Jika Anda meletakkan semua perintah itu dalam satu baris, itu mungkin tidak bekerja seperti yang Anda pikirkan. Kata or tidak khusus untuk zsh , jadi itu hanyalah kata lain untuk echo untuk output. LC_CTYPE="UTF-8" akan mengatur seluruh perintah. Misalnya, ini yang saya dapatkan saat menjalankannya di OS X, dengan lokal en_US.UTF-8 .

$ LC_CTYPE="UTF-8" echo '\u2603' or LC_CTYPE="en_US.UTF-8" echo "\u2603"
☃ or LC_CTYPE=en_US.UTF-8 echo ☃

Anda mungkin memiliki $LC_ALL set, yang menimpa $LC_CTYPE . Apa yang Anda dapatkan untuk output locale ?

Juga, UTF-8 bukan lokal POSIX yang valid. Ini mungkin bekerja pada beberapa sistem, tetapi Arch Linux mungkin tidak menyukainya. en_US.UTF-8 valid. Coba letakkan itu di awal baris, dan gunakan LC_ALL alih-alih LC_CTYPE .

Apa status yang satu ini? ini bisa ditutup?

Ugh. Adakah yang tahu di mana menemukan beberapa dokumen yang benar-benar mencantumkan poin kode lama dan baru yang digunakan font powerline dengan cara yang dapat dibaca, dan menjelaskan apa yang terjadi? ( Komit sebenarnya di mana perubahan terjadi tidak dapat dibaca karena menggunakan karakter literal dalam kode sumber.)

@mcornella : Saya pikir ini bisa ditutup. Cukup jelas itu adalah versi font Powerline yang sama + hal-hal lokal yang telah kita lihat sebelumnya, dan suara terselesaikan.

Saya perhatikan ini ketika saya menggunakan perintah buruh pelabuhan:

bash --login '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'

jadi tanpa ini di .zshrc saya:

export LC_CTYPE=C
export LANG=C

Saya mendapatkan ini:

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/


docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

sed: RE error: illegal byte sequence
/Users/Bart/.nvm/versions/node/v5.5.0/bin/npm: line 2: dirname: command not found
/Users/Bart/.nvm/versions/node/v5.5.0/bin/npm: line 2: /node: No such file or directory
/Users/Bart/.nvm/versions/node/v5.5.0/bin/npm: line 2: exec: /node: cannot execute: No such file or directory
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v5.5.0 --silent` to unset it.
 Bart<strong i="12">@Araphel</strong>  ~                                                                                                                                             ✓  10001  19:06:07

dengan:

export LC_CTYPE=C
export LANG=C

ini terminal saya sebelum eksekusi perintah:

/Users/Bart/.oh-my-zsh/custom/themes/powerlevel9k/powerlevel9k.zsh-theme:128: character not in range
Bart<strong i="19">@Araphel</strong>:~% bash --login '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'

dan hasilnya:

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/


docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

/Users/Bart/.oh-my-zsh/custom/themes/powerlevel9k/powerlevel9k.zsh-theme:128: character not in range
Bart<strong i="23">@Araphel</strong>:~%

Haruskah saya khawatir tentang penggunaan itu?:

export LC_CTYPE=en_US.UTF-8
export LANG=en_US.UTF-8

Ini adalah konfigurasi pengguna saya untuk memberi Anda pandangan yang lebih baik tentang seperti apa konfigurasinya:

# User configuration
export LC_CTYPE=en_US.UTF-8
export LANG=en_US.UTF-8
export ANDROID_HOME=/usr/local/opt/android-sdk
export GOROOT=$HOME/go 
export PATH=$PATH:$GOROOT/bin
export PATH=$GOPATH/bin:$PATH
export PATH=$PATH:/Users/Bart
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
export PATH=“/usr/local/git/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/bin:/sbin:/usr/X11/bin:/$HOME/.rvm/bin:/.node/bin:/elixir/bin:$PATH”

PS. Jika Anda menemukan kesalahan lain, tolong beri tahu saya!
Tolong saran!

Kedua pesan kesalahan tersebut terdengar seperti kesalahan penyiapan penyandian karakter lokal.

Melakukan ini:

export LC_CTYPE=C
export LANG=C

sangat mungkin untuk memecahkan barang. Banyak program akan menafsirkan itu berarti "perlakukan semuanya sebagai ASCII 8-bit, atau data biner buram" (yang mungkin mengapa itu membuat kesalahan sed hilang untuk Anda), tetapi hal-hal yang khusus untuk Unicode, seperti powerlevel9k atau beberapa program Ruby, kemudian dapat rusak.

LC_CTYPE dan LANG harus disetel oleh sistem atau sesi terminal Anda; Anda tidak perlu mengaturnya di file startup shell Anda.

Apa output dari locale untuk Anda, ketika Anda tidak menetapkan LC_CTYPE atau LANG di ~/.zshrc sama sekali? Dan OS apa yang Anda gunakan?

Penyebab umum dari ini adalah tidak mengatur program terminal Anda untuk mengatur variabel lokal Anda saat startup. (Ini mati secara default di banyak, dan saya benar-benar tidak mengerti mengapa.) Sepertinya Anda menjalankan OS X. Di Terminal.app, itu ada di tab "Lanjutan" di profil Anda, berlabel "Setel variabel lingkungan lokal di rintisan". Di iTerm2, ada di Profil, tab "Terminal", berlabel "Setel variabel lokal secara otomatis".

Inilah yang saya dapatkan tanpa export LC_CTYPE=C / export LANG=C
atau ekspor LC_CTYPE=en_US.UTF-8 /export LANG=en_US.UTF-8 :

 Bart<strong i="7">@Araphel</strong>  ~  locale                                                                   ✓  10016  19:47:35
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
 Bart<strong i="8">@Araphel</strong>  ~ 

dan saya sudah mengonfigurasi iTerm2 saya seperti yang Anda rekomendasikan.

Pengaturan lokal tersebut terlihat benar; Saya pikir konfigurasi terminal Anda benar. Kedengarannya seperti ada yang aneh dengan pengaturan nvm atau apa?

Seseorang yang benar-benar mengenal Docker dan nvm/npm di OS X mungkin bisa membantu lebih baik. Ini tidak terdengar seperti masalah pengaturan lokal OMZ/keseluruhan, karena konfigurasi locale terlihat baik-baik saja.

Saya akan membiarkan pengaturan LC_* apa adanya, dan mencoba menelusuri apa yang terjadi dengan hal-hal ini di sini:

bash --login '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'
...

sed: RE error: illegal byte sequence
/Users/Bart/.nvm/versions/node/v5.5.0/bin/npm: line 2: dirname: command not found
/Users/Bart/.nvm/versions/node/v5.5.0/bin/npm: line 2: /node: No such file or directory
/Users/Bart/.nvm/versions/node/v5.5.0/bin/npm: line 2: exec: /node: cannot execute: No such file or directory
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v5.5.0 --silent` to unset it.

Apakah Anda yakin bahwa skrip start.sh dimaksudkan untuk berjalan di bawah bash ? Mungkin menjalankannya di bawah bash -x untuk melihat jejak debug dan mencari tahu di mana sed itu terjadi? Setelah Anda mencapai titik di mana dirname tidak ditemukan dan mencoba menjalankan /node , sesuatu terlihat agak aneh. Mungkin spasi atau karakter khusus di jalur tanpa tanda kutip yang menyertakan spasi mengacaukan segalanya? Hanya menebak pada saat ini.

Terima kasih @apjanke, komentar Anda membuat saya berada di jalur yang benar dan saya tampaknya dapat membuat font dan buruh pelabuhan saya tetap bahagia pada saat yang sama sekarang! Ya! :+1:

Senang mendengarnya!

Saya menemui masalah yang sama ketika sshing ke kotak ubuntu.

Pertama, karakter unicode terlihat bagus di mac iterm2 saya:
image

Saya juga memeriksa pengaturan iTerm2, mengikuti komentar di atas:
image

image

Namun, ketika saya ssh ke server linux, inilah hasilnya:

image

Pengaturan mana yang saya lewatkan?

terpecahkan. lokal saya rusak.

Yew man ini saya yang login
Pada 28 Februari 2016 2:29, "byzhang" [email protected] menulis:

terpecahkan. lokal saya rusak.


Balas email ini secara langsung atau lihat di GitHub
https://github.com/robbyrussell/oh-my-zsh/issues/4065#issuecomment -189819108
.

@apjanke Terima kasih

Saya mendapatkan masalah ini saat Terminess tidak berfungsi:
terminess

Ini adalah deklarasi font saya:
URxvt font: xft:Terminness Powerline:pixelsize=14URxvt boldfont: xft:Terminess Powerline:pixelsize=16

Bantuan apapun akan sangat dihargai

Lihat https://github.com/robbyrussell/oh-my-zsh/wiki/FAQ#i -have-a-weird-character-in-my-Prompt

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

mihnor picture mihnor  ·  3Komentar

jaredmoody picture jaredmoody  ·  3Komentar

robsonpeixoto picture robsonpeixoto  ·  3Komentar

victorsenam picture victorsenam  ·  3Komentar

oskargicast picture oskargicast  ·  3Komentar