お世話になります。
過去に似たようなタイトルの投稿がありましたが、少し私の困っている内容とは異なっておりましたので、投稿させて頂きました。
タイトルの通り、[Heroku+Node.js]で開発しているアプリがあるのですが、
ローカル環境では動いているのに、デプロイした本番環境では動かなくて困っています。
以下に、簡単にですが、自身の環境を記載します。
**==========================================================
【やろうとしていること】
・「mecab-lite」を使用した形態解析。
・「cheerio-httpcli」を使用した、特定URLの内容のスクレピング。
【エラーログ 抜粋】
Error: Command failed: /bin/sh -c mecab "/app/tmp/__mecab_tmp-in__1447081450486_0.9399180100299418" --output="/app/tmp/__mecab_tmp-out_1447081450486_0.9399180100299418"
Nov 09 07:04:11 limitless-coast-3133 app/web.1: /bin/sh: 1: mecab: not found
Nov 09 07:04:11 limitless-coast-3133 app/web.1: [検索するワード]undefined
Nov 09 07:04:11 limitless-coast-3133 app/web.1: [受け取ったワード]undefined
Nov 09 07:04:11 limitless-coast-3133 app/web.1: URL:undefined
Nov 09 07:04:11 limitless-coast-3133 app/web.1: url.js:110
Nov 09 07:04:11 limitless-coast-3133 app/web.1: throw new TypeError("Parameter 'url' must be a string, not " + typeof url)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: ^
Nov 09 07:04:11 limitless-coast-3133 app/web.1: TypeError: Parameter 'url' must be a string, not undefined
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at Url.parse (url.js:110:11)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at Object.urlParse [as parse] (url.js:104:5)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at Object.module.exports.prepare (/app/node_modules/cheerio-httpcli/lib/client.js:267:28)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at Object.module.exports.run (/app/node_modules/cheerio-httpcli/lib/client.js:304:24)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at Object.cheerioHttpCli.fetch (/app/node_modules/cheerio-httpcli/lib/core.js:63:19)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at SearchBot.getSearchContent (/app/server-search.js:56:12)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at Object.getResponse (/app/server-search.js:24:11)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at Bot.callback (/app/index.js:101:17)
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at /app/server-bot_1.js:77:12
Nov 09 07:04:11 limitless-coast-3133 app/web.1: at /app/node_modules/mecab-lite/lib/mecab-lite.js:101:27
※一部console.logで出力しているメッセージもあります。
【package.js】
"dependencies": {
"cheerio-httpcli": "^0.3.6",
"cool-ascii-faces": "1.3.1",
"ejs": "2.3.3",
"express": "4.13.3",
"mecab-lite": "0.0.8",
"iconv": "*",
"mongodb": "^2.0.48",
"pg": "4.x",
"request": "^2.65.0"
},
"engines": {
"node": "0.12.7"
},
"repository": {
"type": "git",
"url": "https://github.com/heroku/node-js-getting-started"
},
"keywords": [
"node",
"heroku",
"express"
],
※関連しそうな部分のみ記載
==========================================================**
エラー内容的に、本番環境に「mecab」等のモジュールのインストールが出来ていないことが原因だと思うのですが、
そもそもHeroku環境にどうやってモジュールをインストールすれば良いのかが、調べても分かりませんでした。
(package.jsには、必要と思われるモジュールを記載しているつもりです)
あと「throw new TypeError("Parameter 'url' must be a string, not " + typeof url)」というエラーが出ているのも気になります。
何か解決の手掛かりをご教示頂ければと思い、投稿させて頂きました。
お力添えのほど、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/16 08:56