С некоторых пор (ранее все работало), запуск скрипта множественного геокодирования начал выдавать ошибку:
Error: not found
at module.exports.inherit.toGeoJSON (/usr/local/lib/node_modu
at module.exports.inherit.process (/usr/local/lib/node_modu
at null.<anonymous> (/usr/local/lib/node_modu
at null.<anonymous> (/usr/local/lib/node_modu
at g (events.js:180:16)
at emit (events.js:92:17)
at IncomingMessage.<anonymous> (/usr/local/lib/node_modu
at IncomingMessage.g (events.js:180:16)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:929:16
Скрипт запускаю вот так:
NODE_PATH="/usr/local/lib/node_modules"
export NODE_PATH
nodejs /var/www/..../mScript.js
Смущает то, что ранее скрипт отрабатывал без ошибок. В node.js, как и в линуксе, почти не разибраюсь. Был бы рад любой помощи.
Вот листинг скрипта:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '...',
user : '...',
password : '...',
database : '...'
});
var MultiGeocoder = require('multi-geocoder'),
geocoder = new MultiGeocoder({ provider: 'yandex', coordorder: 'latlong','key':'...' }),
provider = geocoder.getProvider();
provider.getText = function (point) {
var text = 'Москва, ' + point.address;
return text;
};
connection.connect();
connection.query('SELECT address,shop_name,phone FROM ...;', function(error, result, fields){
if (error) { throw error; }
var address_obj = [];
for(var k in result){
var address = result[k]['address'];
var shop_name = result[k]['shop_name'];
var phone = result[k]['phone'];
address_obj.push({"address": address,"name": shop_name,"phone": phone})
}
geocoder.geocode(address_obj)
.then(function (res) {
var fs = require('fs');
fs.writeFileSync('/var/www/..../result.txt', JSON.stringify(res));
});
return;
});