2017-05-27 77 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

首先第一件事情,你错过了一个分号当你在Clarifai的实例...

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

...这可能有助于您问题。

检查以确定Clarifai已列入您的package.json依存关系中。如果不是,请尝试运行npm install clarifai --save,因为--save选项会指示npm自动将软件包添加到您的依赖关系列表中。

此外,有时运行一个简单的npm install解决了可能发生的任何依赖性或奇怪的node.js问题。

+0

试过,没有帮助:( – ShivaV

1

您不应该需要全局安装。安装后,会有一个node_modules目录在相同的位置,包括clarifai包以及任何其他依赖项。

相关问题