运行以下命令:
> sudo pecl install spidermonkey
我收到以下错误:
...
... a bunch of successful checks ...
...
checking whether to enable spidermonkey support... yes, shared
configure: error: jsapi.h not found. Please reinstall libjs.
ERROR: `/var/tmp/spidermonkey/configure' failed
我尝试通过安装 js-devel 来解决这个问题,在与各种 yum 存储库搏斗之后,我最终手动完成了安装,如下所示:
> wget http://pkgs.repoforge.org/js/js-1.60-1.el6.rf.x86_64.rpm
> wget http://pkgs.repoforge.org/js/js-devel-1.60-1.el6.rf.x86_64.rpm
> yum install js-1.60-1.el6.rf.x86_64.rpm
> yum install js-devel-1.60-1.el6.rf.x86_64.rpm
(不确定为什么 js-devel 要求先安装 js ...但是,当我尝试单独安装 js-devel 时,它会抱怨。)
重新运行pecl install
,我收到相同的错误。我对 js-devel 包包含 libjs 内容的理解是否完全错误?还有其他步骤吗?或者,我需要在其他地方寻找 libjs 吗?
附录:我还尝试删除上述软件包(使用 yum)并安装以下版本:
> wget http://puias.math.ias.edu/data/puias/6/x86_64/os/Addons/js-1.70-12.puias6.x86_64.rpm
> yum install js-1.70-12.puias6.x86_64.rpm
> wget http://puias.math.ias.edu/data/puias/6/x86_64/os/Addons/js-devel-1.70-12.puias6.x86_64.rpm
> yum install js-devel-1.70-12.puias6.x86_64.rpm
不行。命令行 js 解释器运行正常。但是,PECL 会产生同样的错误。
答案1
虽然这不能解决使用包管理器无法正确安装包的问题,但本文中的步骤让我的 spidermonkey 在 PHP 中正常运行:
http://devzone.zend.com/1480/using-javascript-in-php-with-pecl-and-spidermonkey/
在我看来,这是一种解决方法。我假设通过 pecl 包管理器安装的 PECL 包旨在正常工作。所以,我还是对其他更合格的答案感兴趣。