1

そのため、すべてが機能することを確認するために、今日、コードを Windows から Linux に移行していました。私はキャスパー/ファントムを壊すことができましたが、どうすればいいのかさえわかりません。

Linux(ubuntu 12.14)でキャスパースクリプトを実行するコマンドは次のとおりです。

/usr/bin/casperjs /var/www/tekalyze/phantom/get_site_info.js --jquery-path="/var/www/tekalyze/js/jquery-1.10.2.min.js" --uri-path=" /var/www/tekalyze/phantom/URI.js" --log-path="/var/www/tekalyze/phantom/casper.log" --data-url=http://tekalyze.com/ajax.php --id='19' --url='http://www.bk.com/?utm_source=LOCATIONiq&utm_medium=locallstgs&utm_campaign=2013' --log-level=debug

それは私にこれを与えています:

TypeError: 'undefined' is not an object (evaluating 'requireDirs.forEach')
in module (./get_all_urls:102)
/var/www/tekalyze/phantom/get_all_urls.js:102 in _require
/var/www/tekalyze/phantom:13 in anonymous
/home/casper/casperjs/bin/bootstrap.js:146 in _require
/var/www/tekalyze/phantom/get_site_info.js:8
/var/www/tekalyze/phantom/get_site_info.js:228

get_all_urls の 102 行目は次のとおりです。

crawl.call(this, links[currentLink]);

私はそれをコメントアウトしようとしましたが、スタックトレースは同じままであるため、関連していないと思います.

関連ファイルはここにあります。

正直、頭を悩ませているだけです。私はbootstrap.js:146を見て、phantom.casperPathについて何かを見ましたが、Windowsでは環境変数を設定する必要がなかったので、Linuxについてはわかりません。関連する行は次のとおりです。 if (!phantom.casperPath)-- これにより、最初にファントムから開始するようにすべてを書き直してから、すべてのキャスパー変数を設定すると、これを機能させることができると信じられますが、それが機能するかどうかは確認していませんまだ働いています。

また、このスクリプトを使用して両方をインストールしたため、ディレクトリは正しく設定されているはずです。

4

1 に答える 1

2

この機能は 1.1.0-DEV まで追加されないことが判明したため、Linux で 1.0.0 を使用する代わりに、それに更新することが最善の解決策です。

于 2013-08-01T12:30:14.337 に答える