Node.js 与johnny five的Npm错误

Node.js 与johnny five的Npm错误,node.js,npm,johnny-five,Node.js,Npm,Johnny Five,当我安装johnny five时,它不会下载目录。当我尝试使用johnny five piezo示例运行index.js文件时,它就是不想运行。给我一个关于serialport的错误。我试图安装serialport,但没有成功。还尝试重新安装node和npm,但也没有成功。这是我的index.js: var five = require("johnny-five"), board = new five.Board(); board.on("ready"

当我安装johnny five时,它不会下载目录。当我尝试使用johnny five piezo示例运行index.js文件时,它就是不想运行。给我一个关于serialport的错误。我试图安装serialport,但没有成功。还尝试重新安装node和npm,但也没有成功。这是我的index.js:

var five = require("johnny-five"),
  board = new five.Board();

board.on("ready", function() {
  // Creates a piezo object and defines the pin to be used for the signal
  var piezo = new five.Piezo(3);

  // Injects the piezo into the repl
  board.repl.inject({
    piezo: piezo
  });

  // Plays a song
  piezo.play({
    // song is composed by an array of pairs of notes and beats
    // The first argument is the note (null means "no note")
    // The second argument is the length of time (beat) of the note (or non-note)
    song: [
      ["C4", 1 / 4],
      ["D4", 1 / 4],
      ["F4", 1 / 4],
      ["D4", 1 / 4],
      ["A4", 1 / 4],
      [null, 1 / 4],
      ["A4", 1],
      ["G4", 1],
      [null, 1 / 2],
      ["C4", 1 / 4],
      ["D4", 1 / 4],
      ["F4", 1 / 4],
      ["D4", 1 / 4],
      ["G4", 1 / 4],
      [null, 1 / 4],
      ["G4", 1],
      ["F4", 1],
      [null, 1 / 2]
    ],
    tempo: 100
  });

  // Plays the same song with a string representation
  piezo.play({
    // song is composed by a string of notes
    // a default beat is set, and the default octave is used
    // any invalid note is read as "no note"
    song: "C D F D A - A A A A G G G G - - C D F D G - G G G G F F F F - -",
    beats: 1 / 4,
    tempo: 100
  });

});
下面是它抛出的错误:

PS C:\Users\Krisztian\Desktop\proba> node index.js
internal/modules/cjs/loader.js:883
  throw err;
  ^

Error: Cannot find module '@serialport/bindings'
Require stack:
- C:\Users\Krisztian\node_modules\serialport\lib\index.js
- C:\Users\Krisztian\node_modules\johnny-five\lib\board.js
- C:\Users\Krisztian\node_modules\johnny-five\lib\accelerometer.js
- C:\Users\Krisztian\node_modules\johnny-five\lib\johnny-five.js
- C:\Users\Krisztian\Desktop\proba\index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (C:\Users\Krisztian\node_modules\serialport\lib\index.js:2:17)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\Users\\Krisztian\\node_modules\\serialport\\lib\\index.js',
    'C:\\Users\\Krisztian\\node_modules\\johnny-five\\lib\\board.js',
    'C:\\Users\\Krisztian\\node_modules\\johnny-five\\lib\\accelerometer.js',
    'C:\\Users\\Krisztian\\node_modules\\johnny-five\\lib\\johnny-five.js',
    'C:\\Users\\Krisztian\\Desktop\\proba\\index.js'
  ]
}

PS C:\Users\kriztian\Desktop\proba>node index.js
内部/modules/cjs/loader.js:883
犯错误;
^
错误:找不到模块'@serialport/bindings'
需要堆栈:
-C:\Users\kriztian\node\u modules\serialport\lib\index.js
-C:\Users\kriztian\node\u modules\johnny five\lib\board.js
-C:\Users\kriztian\node\u modules\johnny five\lib\accelerator.js
-C:\Users\kriztian\node\u modules\johnny-five\lib\johnny-five.js
-C:\Users\kriztian\Desktop\proba\index.js
位于Function.Module.\u解析文件名(internal/modules/cjs/loader.js:880:15)
at Function.Module._load(内部/modules/cjs/loader.js:725:27)
at Module.require(内部/modules/cjs/loader.js:952:19)
根据需要(内部/modules/cjs/helpers.js:88:18)
反对。(C:\Users\kriztian\node\u modules\serialport\lib\index.js:2:17)
at模块编译(内部/modules/cjs/loader.js:1063:30)
在Object.Module._extensions..js(internal/modules/cjs/loader.js:1092:10)
在Module.load(内部/modules/cjs/loader.js:928:32)
at Function.Module._load(内部/modules/cjs/loader.js:769:14)
at Module.require(内部/modules/cjs/loader.js:952:19){
代码:“未找到模块”,
requireStack:[
'C:\\Users\\Krisztian\\node\u modules\\serialport\\lib\\index.js',
'C:\\Users\\Krisztian\\node\u modules\\johnny five\\lib\\board.js',
'C:\\Users\\Krisztian\\node\u modules\\johnny five\\lib\\accelerator.js',
'C:\\Users\\Krisztian\\node\u modules\\johnny five\\lib\\johnny five.js',
'C:\\Users\\Krisztian\\Desktop\\proba\\index.js'
]
}

此外,每当我尝试安装npm软件包时,都会收到许多错误和警告。

您可以从堆栈跟踪中看到发生了什么,想要什么,想要什么。请出示您的包裹。json@LawrenceCherone没有创建任何对象。我应该手动创建一个吗?是的,然后你可以添加你需要的包,看起来你已经将它安装到了你的用户节点_模块中,而它并没有作为dep获取绑定包。。在index.js所在的位置执行
npm init
,然后安装这两个包
npm i johnny five@serialport/bindings
,然后可能应该work@LawrenceCherone感谢您的帮助,我终于安装了windows工具thingies,出于某种原因,它现在可以工作了。无论如何,我感谢你的帮助,在过去的一个半小时里,它一直在折磨着我。谢谢:)np,
C:\\Users\\Krisztian\\node\u模块
就是线索。。项目所需的一切都应该在
C:\\Users\\Krisztian\\Desktop\\proba\\node\u模块中