Meteor:你究竟是如何安装 phantomJS 的?

Meteor: How do you exactly install phantomJS?

没有关于如何为 Meteor 安装 Phantom 的明确指南,所以我决定问一个问题来澄清事情。

  1. 你必须在 /usr/local/bin/ 中安装 phantom 二进制文件吗?我从官网下载了编译好的phantomjs,放在上面的路径里面。我现在可以从任何地方 运行 phantomjs 因为它已添加到路径中。

  2. 除了1,还要从meteor npm安装吗?我按照 this"phantomjs": "1.9.13" 作为 npm 包安装在我的 Meteor 应用程序中。从这里开始会让人感到困惑,因为官方网站的二进制文件是 v2.0.0 而 npm 包是 1.9.13。我需要同时安装两者吗?

  3. 由于 2 中的混乱,我删除了 /usr/local/bin/phantomjs 但后来我无法在任何地方 运行 $phantomjs 因为我在 PATH.

我的最终目标是让 spiderable 工作。我该怎么办?

这里是来自 atmosphere 的 phantomjs 包装包:https://atmospherejs.com/gadicohen/phantomjs

这里更重要的是可爬取包: https://atmospherejs.com/meteor/spiderable

我无法真正回答这些问题,但更重要的是请指出我希望能解决您问题的方向:)

您可以通过两种方式执行此操作:

方法一:

如果您希望能够通过您的 Meteor 应用程序使用 PhantomJS,您需要使用 Meteorhacks NPM package and use the latest NPM version 1.9.16 I believe

之后,您可以编辑您的 packages.json 文件以添加 "phantomjs": "1.9.16",然后通过 var phantomjs = Meteor.npmRequire('phantomjs');

引用它

方法二:

或者,您可以使用 Meteor PhantomJS 的智能包并试一试。

我个人觉得方法 1 是更好的选择,因为它对我有用。我的应用程序需要 PhantomJS,该解决方案对我很有效。我还没有尝试过方法 2,所以我不能代表它,但它看起来也很有希望。

试一试,让我知道进展如何。希望对您有所帮助!

好的,问题是官方网页编译的phantomjs二进制文件在最新的Mac OS中不能立即使用,但你必须先解压。对于 运行 spiderable 包,除了将二进制文件 phantomjs 放入本地路径 /usr/bin/local/ 之外,您不需要做任何其他事情。您可以在终端中通过 运行ning $phantomjs 进行测试。如果您看到 phantomjs not found,那么您还没有安装它。如果你看到错误killed 9那么你和我遇到了同样的问题,你可以按照.

解决。

您不需要 meteorhacks:npm 包。

只需使用 npm:

//Global effect on your machine

npm 安装-g phantomjs

//Test if installed

npm 列表-g

//Test spiderable working correctly

Test spiderable

在终端中:

$ meteor npm install --save phantomjs

在 your_meteor_app/server/main.js 文件中(或任何地方,只要它是 server-side)

import phantom from 'phantom'