2017-05-27 3 views
0
module.js:341 
    throw err; 
    ^

Error: Cannot find module 'clarifai' 
    at Function.Module._resolveFilename (module.js:339:15) 
    at Function.Module._load (module.js:290:25) 
    at Module.require (module.js:367:17) 
    at require (internal/module.js:16:19) 
    at Object.<anonymous> (/Users/shiva/seefood-backend/app.js:4:16) 
    at Module._compile (module.js:413:34) 
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32) 
    at Function.Module._load (module.js:314:12) 
    at Function.Module.runMain (module.js:447:10) 

私がnode app.jsを実行すると、上記のメッセージが表示されます。私はhttps://developer.clarifai.com/quick-start/npm install clarifaiと記載されているClarifaiのnpmパッケージをインストールしましたが、それでも私にこのエラーが出ます。パッケージをグローバルにインストールする必要はありますか? また、これは私のapp.jsです:ノードサーバを起動したときにクラリファイのnpmモジュールが見つかりません

var express = require('express') 
var app = express(); 
var bodyParser = require('body-parser') 
var Clarifai = require('clarifai') 
var secrets = require('./secrets') 
var keys = secrets.clarifaiConfig() 

app.use(bodyParser.json()); 

var ClarifaiInstance = new Clarifai.App(
    keys.access_key, 
    keys.secret_key 
) 

var store 

var foodModel = 'bd367be194cf45149e75f01d59f77ba7' 
var fnol = function getPredictionAsJSON(imageURL) { 
    ClarifaiInstance.models.predict(foodModel, imageURL).then(
    function(response) { 
     store = response.outputs[0].data 
     console.log(store + ' from inside the fn'); 
    }, 
    function(err) { 
     console.error(err); 
    } 
); 
    return store 
} 

app.listen(8000, function() { 
    console.log('Recognize app listening on port 8000!') 

    app.post('/classify', function(req, res) { 
    var clarifaiData 
    var imageURL = req.body.imageURL 
     clarifaiData = fnol(imageURL) 
     // console.log('cldata : '+ clarifaiData) 
     var responseObject = {imageURL: imageURL, data: clarifaiData } 
     // console.log('rObj : '+responseObject) 
     res.send((responseObject)); 
    }); 

    app.get('/classify', function(req, res) { 
    res.json((store)); 
    }); 
}) 

答えて

0

あなたに貢献するかもしれない最初の最初に、物事、あなたは

var ClarifaiInstance = new Clarifai.App(
    keys.access_key, 
    keys.secret_key 
) 

...でClarifaiのインスタンスを作成するときにセミコロンが欠落しています...問題。

Clarifaiがpackage.jsonの依存関係にリストされていることを確認してください。そうでない場合は、npm install clarifai --saveを--saveオプションとして実行すると、パッケージが自動的に依存関係のリストに追加されます。

また、単純なnpm installを実行すると、起こっているかもしれない依存関係や奇妙なnode.jsの問題が解決されることがあります。

+0

これは試してみませんでした:( – ShivaV

1

グローバルにインストールする必要はありません。インストール後、clarifaiパッケージとその他の依存関係を含む同じ場所にnode_modulesディレクトリがあります。

関連する問題