找不到模块 'cylon'

Cannot find module 'cylon'

我正在尝试用 cylon.js 移动我的 bb-8(sphero)。 我在全局安装了 node.js、cylon-ble 模块并编写了简单的代码来移动我的 bb-8。

我的环境是

执行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

如有任何帮助,我们将不胜感激。

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

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

推荐使用

$ npm init
$ npm install --save cylon

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

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