安装 nodejs 时"except Error as e SyntaxError"



我一直试图在我的VPS上安装nodejs一段时间了。由于我使用的是CentOs 5.6,我不得不从源代码构建它。
更重要的是,我需要python 2.7,因为我的机器上默认的python是2.4。
我从源代码编译python,并成功安装在/usr/local/bin/python2.7

现在问题是在nodejs目录下发出make时,它达到以下异常:

.
.
.
  LD_LIBRARY_PATH=/root/node/out/Release/lib.host:/root/node/out/Release/lib.tar
get:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/tools/gyp; mkdir -p
/root/node/out/Release/obj/gen; python ../../tools/generate-trig-table.py "/root
/node/out/Release/obj/gen/trig-table.cc"
  touch /root/node/out/Release/obj.host/deps/v8/tools/gyp/generate_trig_table.st
amp
  LD_LIBRARY_PATH=/root/node/out/Release/lib.host:/root/node/out/Release/lib.tar
get:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/tools/gyp; mkdir -p
/root/node/out/Release/obj/gen; python ../../tools/js2c.py "/root/node/out/Relea
se/obj/gen/libraries.cc" CORE off ../../src/runtime.js ../../src/v8natives.js ..
/../src/array.js ../../src/string.js ../../src/uri.js ../../src/math.js ../../sr
c/messages.js ../../src/apinatives.js ../../src/debug-debugger.js ../../src/mirr
or-debugger.js ../../src/liveedit-debugger.js ../../src/date.js ../../src/json.j
s ../../src/regexp.js ../../src/arraybuffer.js ../../src/typedarray.js ../../src
/weak_collection.js ../../src/promise.js ../../src/object-observe.js ../../src/m
acros.py
  File "../../tools/js2c.py", line 387
    except Error as e:
                  ^
SyntaxError: invalid syntax
make[1]: *** [/root/node/out/Release/obj/gen/libraries.cc] Error 1
make[1]: Leaving directory `/root/node/out'
make: *** [node] Error 2

我在某个地方读到Exception语法从python 2.6起发生了变化,我认为它必须使用旧的python,所以我做了以下操作,但没有区别:

PYTHON=/usr/local/bin/python2.7
export PYTHON
python2.7 configure && make && make install

现在我想知道我应该怎么做?

IMO你需要先在path中放置python2.7,然后运行:

export PATH=/usr/local/bin:${PATH}
python2.7 configure && make && make install

如果这不起作用,可能其中一个Python脚本正在寻找python。你可以通过符号链接python来解决这个问题,比如:

mkdir /tmp/py27
ln -s /usr/local/bin/python2.7 /tmp/py27/python
export PATH=/tmp/py27:${PATH}
python configure && make && make install

所有大写PYTHON是有效的环境变量吗?

http://www.wellho.net/resources/ex.php4?item=y115/penv.py

我认为你应该创建一个指向正确python解释器的sym链接。

ln -s /usr/local/bin/python2.7 /usr/local/bin/python

最新更新