我试图用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
任何帮助都将不胜感激。
答案 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如何在项目中搜索模块的更好解释。