我克隆了节点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
据我了解,逗号是一种过时的语法,在Python 3上不起作用,对吗?
我宁愿不安装旧版本的Python只是为了做到这一点.理想情况下,我希望能够构建和安装最新版本,而不是依赖于其他人来分发.dmg文件.
岩石和困难的地方?建议?
[更新]好的,感谢所有帮助回答这个问题的人.希望其他人可以在Google上找到它.事实证明,我的系统上确实有Python 2.x(它默认安装在OS X上)在/usr/bin下.因此,解决方案是更新我的路径(不是永久性的,仅用于此bash会话).
$export PATH=/usr/bin:$PATH
$./configure
$make
$make install
多田!节点已安装在我的系统上.
解决方法:
Compatibility from Python 2.3 to 3.1 is maintained (and Jython 2.5)
我认为它当前是通过在解压缩时运行2to3.py来完成此操作的,所以如果您首先使用python2运行,则可能是错误的.我认为waf1.6分支是python3 clean
阅读node.js code时,节点人员扩展了waf-这不是使用waf的本意.想法是将waf二进制文件放入源代码中-这将使用正确版本的python进行扩展
OSX确实具有python 2,因此运行构建的一种方法可能是编辑根makefile并替换第一行
WAF=python tools/waf-light
通过
WAF=/usr/bin/python tools/waf-light