Powerline: قم بتحديث MacOS إلى Mojave ، ثم تحصل على خطأ في powerline

تم إنشاؤها على ٢٥ سبتمبر ٢٠١٨  ·  34تعليقات  ·  مصدر: powerline/powerline

الخطأ على النحو التالي:

Error detected while processing /Users/vvqboy/.vimrc:
line    8:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError
line    9:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'powerline_setup' is not defined
line   10:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'powerline_setup' is not defined
Traceback (most recent call last):
  File "<string>", line 4, in <module>
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError
An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
Vim: Caught deadly signal SEGV

Vim: Finished.
[1]    7428 segmentation fault  vi .vimrc
cvim macos serror in environment bug

التعليق الأكثر فائدة

المحلول!!

1) اكتشف إصدار vim الحالي الخاص بك. تم تجميع Mine مع البيرة المحلية ، ولكنه كان إصدار النظام الافتراضي ، والذي أعادت شركة Apple تجميعه لإصدار Mojave (بالنظر إلى التاريخ). أعتقد أن البيان السابق دقيق ، بناءً على تاريخ التجميع ، لكن صححني إذا كنت مخطئًا. قم بتشغيل vim --version وسترى أنه قد تم تجميعه بواسطة [email protected] .

2) اخترت إلغاء تثبيت النسخة المخمرة من python @ 2 ، وقمت بتثبيت python عبر الشراب (يتم تثبيته 3.7.0 افتراضيًا في وقت كتابة هذا التقرير) ، ولم أقم بربطه. فقط تركها هناك. اقرأ بعض المنتديات التي تفيد بأنه لا يتم تجميعه باستخدام brew python ما لم يتم تثبيته. @ ZyX - ربما كنت تعرف المزيد عن هذا؟

3) بعد brew install python ، استخدم البيرة لتثبيت vim باستخدام الأمر brew install vim . ثم قم بتشغيل /usr/local/bin/vim --version وتأكد من وجود علامة "+" بجانب python3. أعد تشغيل الصدفة ، ومن ثم يجب قراءة /.vimrc: /Library/Python/2.7/site-packages/powerline/powerline/bindings/vim/ أو أيًا كان المسار الذي تبحث عنه.

.... ويجب أن تعمل!

تحرير: بعض القواعد ، كتب هذا بدون قهوة.

ال 34 كومينتر

vimrc على النحو التالي:

set rtp+=/Users/vvqboy/Library/Python/2.7/lib/python/site-packages/powerline/bindings/vim

" These lines setup the environment to show graphics and colors correctly.
set nocompatible
set t_Co=256

let g:minBufExplForceSyntaxEnable = 1
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup

if ! has('gui_running')
   set ttimeoutlen=10
   augroup FastEscape
      autocmd!
      au InsertEnter * set timeoutlen=0
      au InsertLeave * set timeoutlen=1000
   augroup END
endif

set laststatus=2 " Always display the statusline in all windows
set guifont=Inconsolata\ for\ Powerline:h14
set noshowmode " Hide the default mode text (e.g. -- INSERT -- below the statusline)

set nu
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab

انا أحاول

pip install --upgrade --force-reinstall  --user powerline-status

Collecting powerline-status
  Downloading https://files.pythonhosted.org/packages/9c/30/8bd3c62642778af9ad813a526c6ff7dd2f98144d6580ad6fab94ca389265/powerline-status-2.7.tar.gz (233kB)
    100% |████████████████████████████████| 235kB 69kB/s
Building wheels for collected packages: powerline-status
  Running setup.py bdist_wheel for powerline-status ... done
  Stored in directory: /Users/vvqboy/Library/Caches/pip/wheels/c4/81/6b/bb1f440b9999fcfda2a1ccdf7b57a886acb08ea3e9e794945d
Successfully built powerline-status
Installing collected packages: powerline-status
  Found existing installation: powerline-status 2.6
    Uninstalling powerline-status-2.6:
      Successfully uninstalled powerline-status-2.6
Successfully installed powerline-status-2.7

ثم لا يزال هناك خطأ

Vim: Caught deadly signal SEGV
Error detected while processing /Users/vvqboy/.vimrc:Vim: Finished.

line    8:
Exception MemoryError: MemoryError() in <module 'threading' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.pyc'> ignored
[1]    1788 segmentation fault  vi .vimrc

بيثون - الإصدار
بايثون 2.7.10

مرحبًا ، نفس الخطأ هنا. حاولت إصلاحين باستخدام الشراب (اعتقدت أنه قد يكون مشكلة ارتباط سيم) ، ولكن يبدو أن كل شيء على ما يرام ، ويبدو أن pyenv الخاص بي على ما يرام.

إليك الخطأ الذي يجب أن أتأكد منه بشكل مضاعف (وهذا حدث بعد تحديث Moajve أيضًا بالنسبة لي):

An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
possible solutions.
Error detected while processing 
...
line  157:
Traceback (most recent call last):
  File "<string>", line 53, in <module>
  File "<string>", line 9, in powerline_troubleshoot
  File "/Users/.../Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/.../Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/.../Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/.../Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError

ومن المثير للاهتمام ، أن توجيه المسار إلى ملف _actual_ powerline.vim سيؤدي إلى تحميل vim بشكل جيد ولن يؤدي إلى أي أخطاء ، ولكنه لا يقوم بتحميل خط الطاقة أيضًا.

/Library/Python/2.7/site-packages/powerline/powerline/bindings/vim/plugins/powerline.vim

Vim يبتعد بسعادة دون تحميل powerline ... بالإضافة إلى ذلك ، يقوم tmux conf الخاص بي بتحميل powerline على ما يرام ، لذلك أعتقد أن هذه مشكلة خاصة بـ vim-powerline. سأقوم ببعض التحقيقات وأعود إليك.

تحرير: أتاح لي التبديل إلى إصدار نظام python وتشغيل غلاف تفاعلي التشغيل
from powerline.vim import VimPowerLine بدون أي متاعب.

لأي سبب من الأسباب ، لا يمكنني التعليق على سطر CTYPES (بعض أخطاء الأذونات ، سيتم التحقيق فيها لاحقًا) ، لكنني غير قادر على تتبع الملف المصدر حيث يتم تخصيص الذاكرة بالفعل. هل يعرف أحد مكان وجود هذا الملف ، أو ما إذا كانت هذه هي الطريقة الصحيحة للمضي قدمًا؟

هل تم تجميع إصدار Python Vim باستخدام نسخة Python التي يستخدمها Vim بالفعل؟ MemoryError ثم SEGV أثناء استيراد الأنواع يشير إلى مشاكل في تثبيت Python ، وليس مشاكل خطوط الطاقة. يجب أن تحصل على نفس المشكلة (على الأقل ، MemoryError ، على الرغم من أنني لست متأكدًا مما تعنيه في الواقع: ربما ، يعيد مخصص الذاكرة NULL؟) إذا قمت بتعطيل powerline وفعلت :python import ctypes في vim.

البنغو ، هذا لم ينجح. ومع ذلك ، كان يعمل بشكل جيد للغاية قبل تحديث MacOS Mojave.

خطأ +1 بعد التحديث إلى mojave

Traceback (most recent call last):
  File "<string>", line 4, in <module>
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError
An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
possible solutions.
Error detected while processing /usr/local/lib/python2.7/site-packages/powerline/bindings/vim/plugin/powerline.vim:
line  157:
Traceback (most recent call last):
  File "<string>", line 53, in <module>
  File "<string>", line 9, in powerline_troubleshoot
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module>
    from powerline.lib.config import ConfigLoader
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module>
    from powerline.lib.threaded import MultiRunnedThread
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module>
    from powerline.lib.monotonic import monotonic
  File "/Users/zzs/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module>
    import ctypes
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module>
    _reset_cache()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError
Press ENTER or type command to continue

هل تم تجميع إصدار Python Vim باستخدام نسخة Python التي يستخدمها Vim بالفعل؟ MemoryError ثم SEGV أثناء استيراد الأنواع يشير إلى مشاكل في تثبيت Python ، وليس مشاكل خطوط الطاقة. يجب أن تحصل على نفس المشكلة (على الأقل ، MemoryError ، على الرغم من أنني لست متأكدًا مما تعنيه في الواقع: ربما ، يعيد مخصص الذاكرة NULL؟) إذا قمت بتعطيل powerline وفعلت :python import ctypes في vim.

لذلك كان يعمل بشكل جيد قبل الترقية. يعمل إعداد zsh و tmux الخاص بي بشكل جيد باستخدام الارتباطات الأخرى أيضًا.

عند تشغيل الأمر: :python import ctypes في vim ، أحصل على نفس الخطأ (خطأ CTYPE) كما هو موضح أعلاه. أتساءل ما الذي تغيرت به Apple في النسخة المشحونة من Apple-Python ، أو في الحقيقة ، إذا قاموا بتغيير أي شيء. سأحاول لاحقًا الليلة وأعود مرة أخرى.

يستخدم Zsh و tmux مترجم Python في عملية منفصلة (إلا إذا كنت تستخدم zsh مع libzpython ، لكن لا يوجد مكافئ لـ tmux). يقوم Vim إما بتحميل Python كمكتبة ديناميكية عبر dlopen أو مجرد روابط معها وهي أكثر هشاشة ، وإذا قمت بتغيير إصدار Python ، فأنت بحاجة إلى إعادة تجميع Vim مع الإصدار الجديد أو المخاطرة بالتعرض لمشاكل. لست متأكدًا من الكيفية التي قد تؤدي بها الاختلافات في الإصدارات إلى تعطل استيراد ctypes في وقت متأخر (عادةً لن تحصل على :python على الإطلاق ، أو قد يتعطل في بعض الأحيان) ، ولكن هذا تفسير واحد محتمل.

واحد آخر هو الفرق بين النظام وإصدار البيرة بايثون. ليس لدي جهاز Mac ولا يمكنني تحديد Vim الذي من المفترض أن يقوم بتحميل الاثنين وكيف يقوم بهذا العمل بالضبط ، ولكن هذا تفسير شائع آخر للمشاكل مع (التطبيق (vim ، إلخ)) + إعداد Python على Mac ، وقد يتسبب ذلك في حدوث أنواع مختلفة من الأخطاء عند الاستيراد.

@ ZyX-I oooo حصلت عليه. هل لديك مستند جاهز يصف العملية؟ لم يكن لدي أي فكرة عن كيفية عملها.

اسمحوا لي بإعادة تجميع vim باستخدام إصدار النظام وشاهد ما سيحدث!

المحلول!!

1) اكتشف إصدار vim الحالي الخاص بك. تم تجميع Mine مع البيرة المحلية ، ولكنه كان إصدار النظام الافتراضي ، والذي أعادت شركة Apple تجميعه لإصدار Mojave (بالنظر إلى التاريخ). أعتقد أن البيان السابق دقيق ، بناءً على تاريخ التجميع ، لكن صححني إذا كنت مخطئًا. قم بتشغيل vim --version وسترى أنه قد تم تجميعه بواسطة [email protected] .

2) اخترت إلغاء تثبيت النسخة المخمرة من python @ 2 ، وقمت بتثبيت python عبر الشراب (يتم تثبيته 3.7.0 افتراضيًا في وقت كتابة هذا التقرير) ، ولم أقم بربطه. فقط تركها هناك. اقرأ بعض المنتديات التي تفيد بأنه لا يتم تجميعه باستخدام brew python ما لم يتم تثبيته. @ ZyX - ربما كنت تعرف المزيد عن هذا؟

3) بعد brew install python ، استخدم البيرة لتثبيت vim باستخدام الأمر brew install vim . ثم قم بتشغيل /usr/local/bin/vim --version وتأكد من وجود علامة "+" بجانب python3. أعد تشغيل الصدفة ، ومن ثم يجب قراءة /.vimrc: /Library/Python/2.7/site-packages/powerline/powerline/bindings/vim/ أو أيًا كان المسار الذي تبحث عنه.

.... ويجب أن تعمل!

تحرير: بعض القواعد ، كتب هذا بدون قهوة.

لدي نفس الخطأ عندما قمت بالترقية إلى Mojave.
line 63: Traceback (most recent call last): File "<string>", line 1, in <module> File "/Users/xxx/Library/Python/2.7/lib/python/site-packages/powerline/__init__.py", line 11, in <module> from powerline.lib.config import ConfigLoader File "/Users/xxx/Library/Python/2.7/lib/python/site-packages/powerline/lib/config.py", line 11, in <module> from powerline.lib.threaded import MultiRunnedThread File "/Users/xxxx/Library/Python/2.7/lib/python/site-packages/powerline/lib/threaded.py", line 7, in <module> from powerline.lib.monotonic import monotonic File "/Users/xxx/Library/Python/2.7/lib/python/site-packages/powerline/lib/monotonic.py", line 19, in <module> import ctypes File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 555, in <module> _reset_cache() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache CFUNCTYPE(c_int)(lambda: None) MemoryError line 64: Traceback (most recent call last): File "<string>", line 1, in <module> NameError: name 'powerline_setup' is not defined line 65: Traceback (most recent call last): File "<string>", line 1, in <module> NameError: name 'powerline_setup' is not defined
بعد أن عدت إلى نظام python الافتراضي ، ما زلت أحصل على نفس الخطأ.

zhongruizhi هل جربت ما اقترحته أعلاه؟ لقد نشرت الحل الخاص بي والذي أصلحه لي!

تضمين التغريدة
شكرًا ، ولكن يبدو أن حلك غير مناسب تمامًا لحالتي. أنا لا أستخدم المشروب ، وأنا أستخدم بايثون النظام الافتراضي (2.7.10) و vim. (+ python / dyn -python3).

anirrudh إنه يعمل حقًا بالنسبة لي ، حل جيد ، شكرًا جزيلاً

zhongruizhi لذلك اعتدت الحصول على الإصدار القياسي vim المقدم من Apple أيضًا ، ولكن يبدو أن هذا معطل بالنسبة إلى powerline ، يبدو أن الإصلاح الوحيد هو تثبيت vim عبر الشراب - أما بالنسبة لإصدارات python ، فأنا أعالج ذلك في المنشور أعلاه ، ولكن عليك التأكد من أن + python3 هو شيء ، وليس + python / dyn ، والذي كان بالضبط ما قدمته Apple من vim!

anirrudh شكرًا لك على اكتشاف التفاصيل. ويعمل.

وجدت السبب والحل أعتقد أنه أكثر أناقة:
دالة CFUNCTYPE at _reset_cache () في الملف:
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py
الحصول على خطأ في الذاكرة.
ثم قفزت إلى هذا الملف ووجدت هذا الرمز:

265 def _reset_cache():
266     _pointer_type_cache.clear()
267     _c_functype_cache.clear()
268     if _os.name in ("nt", "ce"):
269         _win_functype_cache.clear()
270     # _SimpleCData.c_wchar_p_from_param
271     POINTER(c_wchar).from_param = c_wchar_p.from_param
272     # _SimpleCData.c_char_p_from_param
273     POINTER(c_char).from_param = c_char_p.from_param
274     _pointer_type_cache[None] = c_void_p
275     # XXX for whatever reasons, creating the first instance of a callback
276     # function is needed for the unittests on Win64 to succeed.  This MAY
277     # be a compiler bug, since the problem occurs only when _ctypes is
278     # compiled with the MS SDK compiler.  Or an uninitialized variable?
279     CFUNCTYPE(c_int)(lambda: None)

كما ترى ، تمت إضافة وظيفة CFUNCTYPE في السطر 279 بواسطة unittest على Win64 لأي سبب من الأسباب. بالنسبة لمستخدم mac ، هذا الخط عديم الفائدة ويؤدي إلى خطأ في الذاكرة على macOS. لذلك أعلق على السطر 279 ، وأعد تشغيل vim ، لا توجد أخطاء في powerline.

المزيد من التفاصيل:
الملف __init__.py هو ملف للقراءة فقط للنظام ، وتحتاج إلى تشغيل الأمر csrutil disable في وضع استرداد mac (اضغط الأمر + R عند بدء التشغيل) لتعطيل حماية تكامل النظام. بعد إعادة التشغيل ، يمكنك تحرير هذا الملف باستخدام إذن الجذر.

تركيب الشراب vim - with-lua - with-override-system-vi
وإعادة تشغيل قذيفة ثابتة

https://github.com/Valloric/YouCompleteMe/issues/3165#issuecomment -425616700

شكرا لك @ جوشوا تشانغ

عملت معي

شكرا لك @ جوشوا تشانغ
vim على ما يرام ، لكن vi ما زال مخطئًا
`` Vim: تم القبض على إشارة SEGV القاتلة
تم الكشف عن خطأ أثناء معالجة الوظيفة70_PollServerReady [7] ..70_ Pyeval: Vim : انتهى.

السطر 4:
استثناء MemoryError: MemoryError () فيتجاهله
خطأ الانقسام: 11`

vim على ما يرام ، لكن vi ما زال مخطئًا

ربما يكون هناك حل أفضل ولكني أصلحت ذلك بإضافة alias vi="vim" في ملف rc shell الخاص بي

لدي نفس المشكلة مع @ when77 عندما أستخدم commad git commit --amend .

تضمين التغريدة

حاول اقتراح @ Joshua-Chang ، فهو يعمل بالنسبة لي.

حاول اقتراح @ Joshua-Chang ، فهو يعمل بالنسبة لي.

حاولت.
إنه يعمل عندما أستخدم vim مباشرةً ، لكنه يظل خطأً عند تشغيل الأمر git commit --amend أو محاولة إصلاح التعارضات في سطر الأوامر.

أخيرًا ، لقد قمت بحل هذه المشكلة من خلال قراءة هذه المقالة. @ كلما 77
https://ltaoo.github.io/2018/10/22/٪E6٪9B٪B4٪E6٪96٪B0٪20macOS٪20Mojave٪20٪E5٪90٪8E٪20vim٪20٪E6٪89٪93 ٪ E4٪ B8٪ 8D٪ E5٪ BC٪ 80 /

kyriejoshua هل تمانع مشاركة الحل؟

إنه الحل الخاص بي. تضمين التغريدة

cd ~/.vim/bundle/YouCompleteMe
git pull
git submodule update --init --recursive.
python install.py

وإعادة تشغيل قذيفة ثابتة

لمستخدمي YCM ، يرجى استخدام جهات اتصال YCM

نحن نتتبع مشكلة مماثلة مع نظام Vim هنا: https://github.com/Valloric/YouCompleteMe/issues/3271

تنبيه المفسد: أعتقد أنه شيء Mojave وليس شيئًا من شركة YCM.

بالنسبة لي ، بدأت المشكلة في الظهور بعد تثبيت "تحديث هام" بواسطة Mojave (على سبيل المثال ، لقد كنت على Mojave لأعمار مع vim / powerline يعمل بشكل جيد). اتضح أنها كانت مجرد حالة استخدام خاطئ لـ vim (على سبيل المثال /usr/bin/vim ، vim المدمج في Apple) بدلاً من vim من /usr/local/bin/vim . لقد كانت مجرد حالة إصلاح PATH ؛ التحديث يفترض إعادة ترتيبها.

لقد بدأت للتو في استخدام جهاز Mac مع تثبيت جديد لـ Mojave وحصلت على هذه المشكلة ، تجدر الإشارة إلى أنني أستخدم python3.7.

لقد قمت بحلها عن طريق القيام بما يلي:

brew install vim
echo "alias vim=/usr/local/Cellar/vim/<VIM_VERSION>/bin/vim" >> ~/.bash_profile

ما عليك سوى استبدال VIM_VERSION بإصدار vim المثبت على السطر الأول.

يمكن إضافة تأكيد آخر على ارتباط ذلك بتحديث macOS Mojave. سأضطر إلى إجراء بعض أعمال المقارنة مع جهاز آخر لم يتم تحديثه بعد لمعرفة مكتبات النظام التي تغيرت. أنا متأكد من أنه شيء تغير في تثبيت python 2.7 (.10) الافتراضي أو شيء في مكتبة ذات صلة.

واجهت هذه المشكلة نفسها من bash إلى zsh ، ما تم إصلاحها بالنسبة لي هو تصدير PATH . export PATH=$HOME/bin:/usr/local/bin:$PATH

كان لدي بالفعل python 3.7.3 ، vim (الإصدار المتضمن من macvim تم تجميعه بواسطة [email protected]) ، وكان لدي بالفعل Mojave. تم فقط الانتقال إلى zsh.

لذا فأنا أحطم رأسي بالحائط في محاولة لمعرفة سبب عدم نجاح هذا الأمر بالنسبة لي في اليوم التالي لإجباري على ترقية الكمبيوتر المحمول الخاص بالعمل إلى Mojave. لقد اتبعت الأدلة المذكورة أعلاه ، وحصلت على powerline يعمل في vim مرة أخرى ، ولكن بالنسبة إلى LIFE مني ، لن يعمل بشكل صحيح عندما أحاول git commit .

لقد تحققت مرتين في .zshrc أنه تم تعيين المحرر الخاص بي ليكون vim . وبعد ذلك alias vi=vim ، وحتى الآن أي الزهر.

ثم بعد إعادة تثبيت powerline و vim حوالي مائة مرة مختلفة لاحظت ذلك في رسالة الخطأ (هذه رسالة خطأ أصغر بكثير بعد إعادة تشغيل نافذة المحطة الطرفية مرة أخرى وعدم بدء تشغيل tmux أو أي شيء آخر:

Vim: Caught deadly signal SEGV
Vim: Finished.
error: /usr/bin/vim died of signal 11
error: There was a problem with the editor '/usr/bin/vim'.
Please supply the message using either -m or -F option.

هناك: /usr/bin/vim

لذلك أنا مضاعفة فحص، والمنخفضة وها في بلدي .gitconfig كان على النحو التالي:

[core]
editor = /usr/bin/vim

لذلك تم تغيير ذلك إلى editor = vim

TL ؛ DR : إذا كنت لا تزال تواجه مشكلات في تثبيت vim git commit الخاص بك ، فتحقق من أن .gitconfig لا يشير إلى نظام vim.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات