【问题标题】:npm module for clarifai not found when I start the node server启动节点服务器时找不到用于 clarifai 的 npm 模块
【发布时间】:2022-02-23 06:14:36
【问题描述】:
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

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));
  });
})

【问题讨论】:

    标签: node.js npm node-modules clarifai


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      首先,当您在...创建 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 问题。

      【讨论】:

        【解决方案3】:

        如果您将 Clarifai 依赖项从前端移至后端,则需要在您的 api / 后端文件中运行 npm install clarifai。完成此操作后,检查您的 package.json 文件以确保 clarifai 列在您的依赖项中。

        【讨论】:

          猜你喜欢
          • 2015-10-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-05
          • 2018-07-18
          • 2020-11-19
          • 1970-01-01
          相关资源
          最近更新 更多