そのため、すべてが機能することを確認するために、今日、コードを 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)
-- これにより、最初にファントムから開始するようにすべてを書き直してから、すべてのキャスパー変数を設定すると、これを機能させることができると信じられますが、それが機能するかどうかは確認していませんまだ働いています。
また、このスクリプトを使用して両方をインストールしたため、ディレクトリは正しく設定されているはずです。