لا يمكن تكوين node.js لإجراء تثبيت على OS X (Snow Leopard)

StackOverflow https://stackoverflow.com/questions/3819313

  •  26-09-2019
  •  | 
  •  

سؤال

لقد قمت باستنساخ Node Git Repo لكن أداة إنشاء "WAF" التي تأتي مع العقدة لا تعمل مع أحدث إصدار من Python.

$ ./configure
Traceback (most recent call last):
  File "/Users/greim/nodestuff/node/tools/waf-light", line 157, in <module>
    import Scripting
  File "/Users/greim/nodestuff/node/tools/wafadmin/Scripting.py", line 146
    except Utils.WafError, e:
                         ^
SyntaxError: invalid syntax
$ which python
/Library/Frameworks/Python.framework/Versions/3.0/bin/python

إذا فهمت ، فإن فاصلة الفاصلة هي بناء جملة عفا عليها الزمن لا تعمل على بيثون 3 ، أليس كذلك؟

أفضل عدم تثبيت إصدار قديم من Python فقط للقيام بذلك. من الناحية المثالية ، أود أن أكون قادرًا على إنشاء وتثبيت أحدث إصدار ، بدلاً من الاعتماد على الآخرين لتوزيع ملفات .DMG.

موسيقى الروك والمكان الصعب؟ توصيات؟


تحديث] حسنًا ، لذا بفضل كل من ساعد في الإجابة على هذا السؤال. نأمل أن يجد الآخرون هذا على Google. كما اتضح أن لدي Python 2.x على نظامي (يتم تثبيته افتراضيًا على OS X) تحت /usr /bin. لذلك كان الحل هو تحديث طريقي (ليس بشكل دائم ، فقط لهذه الجلسة باش الواحدة).

$ export PATH=/usr/bin:$PATH
$ ./configure
$ make
$ make install

تادا! تم تثبيت العقدة على نظامي.

هل كانت مفيدة؟

المحلول

أناصفحة مشروع WAF يقول

يتم الحفاظ على التوافق من Python 2.3 إلى 3.1 (و Jython 2.5)

أعتقد أنه يفعل هذا حاليًا عن طريق تشغيل 2to3.py عند تفريغه ، لذا إذا كنت قد ركضت أولاً مع Python2 ، فقد يكون من الخطأ. فرع WAF1.6 أعتقد أنه نظيف Python3

اقرأ ال رمز Node.JS قامت العقدة بتوسيع WAF - وهو ما لا يُقصد به استخدام WAF. يتم وضع الفكرة الثنائية WAF في الكود المصدر - سيتوسع هذا باستخدام الإصدار الصحيح من Python

لدى OSX Python 2 ، لذا قد تكون طريقة تشغيل البناء هي تحرير Makefile الجذر واستبدال السطر الأول

WAF=python tools/waf-light

بواسطة

WAF=/usr/bin/python tools/waf-light

نصائح أخرى

نعم الفاصلة عفا عليها الزمن: انظر http://www.python.org/dev/peps/pep-3110/

لسوء الحظ ، لا يوجد حل كبير ، إذا التزمت بـ Python3 ، فسيتعين عليك تعديل رمز العقدة لجعله يعمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top