node.jsconfiguration文件语法错误行433

我通过一个不是joyent的链接下载了node.js,它给了我一个老版本的节点。 所以我想用新的git://github.com/joyent/node.git重新安装node.js。 所以我试着运行相同的克隆脚本,它给了一个致命的错误,因为我的节点文件夹不是空的。 所以我删除了节点文件夹,并再次运行,并克隆它。

之后,我尝试运行configuration文件,我得到一个错误:

File "./configure", line 433 fpu = 'vfpv3' if armv7 else 'vfpv2' ^ SyntaxError: invalid syntax 

我不知道如何解决问题? 我试过删除节点文件夹并克隆了git,但同样的错误。

这是我在433行附近find的代码:

 armv7 = is_arch_armv7() # CHECKME VFPv3 implies ARMv7+ but is the reverse true as well? fpu = 'vfpv3' if armv7 else 'vfpv2' 

问题是试图运行configuration文件的python脚本是Python 2.4。 所以我安装了Python 2.7(我可能已经有了),然后我再次运行脚本:

 python2.7 configure 

然后它正确运行。

你可以使用curl从terminal安装它:

 $ curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 $ ./configure --jobs=1 --prefix=$HOME $ make install 

安装npm:

 $ curl http://npmjs.org/install.sh | sh 

添加@ Samir的答案,这里是你可能需要做的。

 python2.7 configure make PYTHON=python2.7 

这将使用python2.7来configuration安装,而不是使用默认的可能比2.6更早的python。

或者在configure之后,你可以更新你的Makefile最顶层来使用相同版本的python

 PYTHON ?= python2.7