Javascript NodeJS在Mac OS上抛出非法指令:4

Javascript NodeJS在Mac OS上抛出非法指令:4,javascript,node.js,macos,npm,Javascript,Node.js,Macos,Npm,每当我运行我的程序时,它抛出非法指令:4,我不知道为什么 我的代码: glob('/path/music/*.mp3', function(error, files) { for(var i = 0; i < files.length; i++) { songs.push(files[i]); console.log("Added file: " + files[i]); } console.log("Init player"); p = new player(songs

每当我运行我的程序时,它抛出非法指令:4,我不知道为什么

我的代码:

glob('/path/music/*.mp3', function(error, files) {
for(var i = 0; i < files.length; i++) {
    songs.push(files[i]);
    console.log("Added file: " + files[i]);
}

console.log("Init player");
p = new player(songs)
    .on('playing', function(song){
        console.log("Playing now: " + song._name);
    })
    .on('playend', function(song){
        console.log("Next song....");
    })
    .on('error', function(song){
        console.log("Error:" + error);
    }).play();

    setTimeout(function(){ p.stop();},5000);


    console.log(JSON.stringify(p))
});

我使用的是npm的播放器包:

当您使用为不同系统或体系结构编译的二进制附加组件时,通常会发生这种情况

您可以尝试在应用程序目录中运行
npm rebuild
npm install

您还可以删除
node\u模块
并从头开始运行
npm安装

如果这没有帮助,则可能是您正在使用的某些模块存在缺陷,或者它不支持您的体系结构,或者该模块使用的某些库未正确安装在您的系统上。

问题在于in

我在GitHub报告中发现了以下问题

解决方案是更新节点_模块/扬声器中的扬声器:

npm install speaker --mpg123-backend=openal
(我还将lame更新为1.2.4版,您可能也需要这样做)

最后,我在player模块中重建了bin

npm run build
以下是我用来测试/调试的代码:

const glob = require('glob');
const player = require('player');

glob('*.mp3', (error, files) => {
  console.log("Init player");
  const p = new player(files);

  p.on('playing', function(song){
      console.log("Playing now: " + song._name);
  })
  .on('playend', function(song){
      console.log("Next song....");
  })
  .on('error', function(song){
      console.log("Error:" + error);
  });

  p.play();

  setTimeout(function(){
    p.next();
  }, 2000);
});
希望这能有所帮助

尝试以下方法:

npm uninstall player --save
npm uninstall speaker --save
npm install player --mpg123-backend=openal
这对我很有效

npm uninstall player --save
npm uninstall speaker --save
npm install player --mpg123-backend=openal