找不到模块' cylon'

时间:2016-04-02 01:15:54

标签: node.js cylon.js

我试图用cylon.js移动我的bb-8(sphero)。 我在全局安装了node.js,cylon-ble模块,并制作了简单的代码来移动我的bb-8。

我的环境是

  • MacBook Pro 2015年初
  • OS X El Capitan

执行bb-8.js时发生以下错误。

$ node bb-8.js 
module.js:327
    throw err;
    ^

Error: Cannot find module 'cylon'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Users/tomo/NodeJS/bb-8/bb-8.js:1:75)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)

BB-8.js

var Cylon = require('cylon');

Cylon.robot({
  connections: {
    bluetooth: { adaptor: 'central', uuid: 'e6677e25df494211864219ce120ca051', module: 'cylon-ble'}
  },

  devices: {
    bb8: { driver: 'bb8', module: 'cylon-sphero-ble'}
  },

  work: function(my) {
    my.bb8.color(0x00FFFF);

    after(500, function() {
      my.bb8.color(0xFF0000);
    });

    after(1000, function() {
      my.bb8.roll(60, 0);
    });

    after(2000, function() {
      my.bb8.roll(60, 180);
    });

    after(3000, function() {
      my.bb8.stop();
    });
  }
}).start();

我检查了模块,似乎没问题。

$ npm ls
/Users/tomo/NodeJS/bb-8
└── (empty)


$ npm ls -g | grep cylon
├─┬ cylon-ble@0.10.1
│ ├── cylon@1.2.0

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

您应该在本地安装cylon模块,因为它是您的proyect或设置NODE_PATH env变量的依赖项。

$ cd /Users/tomo/NodeJS/bb-8    
$ npm install cylon

建议使用

$ npm init
$ npm install --save cylon

为了在将来的安装中将该依赖项写入package.json。

查看here以获得有关Node.js如何在项目中搜索模块的更好解释。