如何在 Linux 上修复 node-waf «ImportError: No module named Scripting»
问题:
执行 node-waf 时,你收到以下错误消息:
node_waf_traceback.txt
Traceback (most recent call last):
File "/usr/local/bin/node-waf", line 14, in <module>
import Scripting
ImportError: No module named Scripting这也阻止了带有原生组件的 node 模块被构建。
解决方案
你可能使用 n NodeJS 版本管理器。node-waf 期望在 /usr/local/lib/node/wafdmin/ 中有一个名为 Scripting.py 的文件,但在你的情况下不存在。
不幸的是,n(至少到版本 0.7.3)不创建此文件。
要解决此问题,运行(将 0.8.11 替换为你当前使用的 nodejs 版本。它需要由 n 管理才能工作):
create_wafadmin_symlink.sh
ln -sf /usr/local/n/versions/0.8.11/lib/node/wafadmin/ /usr/local/lib/node/你也可以使用此自动 bash 脚本自动确定你的 NodeJS 版本,假设 node 指向 *n* 管理的 NodeJS 版本。
create_wafadmin_symlink_auto.sh
ln -sf /usr/local/n/versions/`node --version | cut -c2-`/lib/node/wafadmin/ /usr/local/lib/node/更新(2013 年 1 月 13 日): 添加了自动确定 NodeJS 版本的方法;添加了 ln -f 标志以覆盖错误的现有链接
Check out similar posts by category:
NodeJS
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow