NPM/node-gyp 错误

Posted

技术标签:

【中文标题】NPM/node-gyp 错误【英文标题】:NPM/node-gyp error 【发布时间】:2018-03-28 00:39:13 【问题描述】:

我尝试为 npm 安装 alsa,但我遇到了重复的问题(参考下文)。所有依赖项都已安装,我正在运行最新的 node.js、NPM 和 node-gyp 版本。已经试用了两种不同的完全更新的 raspbian wheezy 系统。由于我对 npm 和节点没有深入的了解,我希望能获得一些有关潜在问题的线索。

我的第一个想法是路径文件有问题。

就目标而言,我想将 alsa 声音通过管道传输到流媒体服务器,因为我需要为 npm 包含 alsa 绑定。

https://www.npmjs.com/package/alsa

非常感谢任何帮助!

(有些日志丢失了,因为我不能在这里粘贴那么多,但我主要剪切了所有很长的 pcm.h 错误。

pi@home-automation:~ $ npm install alsa

> alsa@0.0.2 install /home/pi/node_modules/alsa
> node-gyp rebuild

make: Entering directory '/home/pi/node_modules/alsa/build'
  CXX(target) Release/obj.target/alsa/alsa.o
In file included from ../alsa.cc:3:0:
../pcm.h:16:31: error: expected class-name before ‘’ token
 class Pcm : public ObjectWrap 
                               ^
../pcm.h:48:5: error: ‘uv_work_t’ does not name a type
     uv_work_t request;

########### cutted log here #########

    alsa.target.mk:92: recipe for target 'Release/obj.target/alsa/alsa.o' failed
    make: *** [Release/obj.target/alsa/alsa.o] Error 1
    make: Leaving directory '/home/pi/node_modules/alsa/build'
    gyp ERR! build error 
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
    gyp ERR! stack     at emitTwo (events.js:125:13)
    gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
    gyp ERR! System Linux 4.9.35-v7+
    gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /home/pi/node_modules/alsa
    gyp ERR! node -v v8.7.0
    gyp ERR! node-gyp -v v3.6.2
    gyp ERR! not ok 
    npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
    npm WARN pi No description
    npm WARN pi No repository field.
    npm WARN pi No README data
    npm WARN pi No license field.

    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! alsa@0.0.2 install: `node-gyp rebuild`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the alsa@0.0.2 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/pi/.npm/_logs/2017-10-16T07_04_32_809Z-debug.log

【问题讨论】:

这似乎是作者未回复的存储库的一个未解决问题:github.com/xdissent/node-alsa/issues/4。该项目似乎被放弃了。 感谢您的回答。我也读到了,但认为可能有一些方法可以让它工作......你是否发现了将 alsa 声音传送到 nom 服务器的任何替代方法? 【参考方案1】:

安装gcc-c++,就可以解决问题了。

【讨论】:

这是我在安装超级账本组件时尝试的方法,发现 c++ 编译器有助于动态构建缺失的东西。这解决了我的问题。

以上是关于NPM/node-gyp 错误的主要内容,如果未能解决你的问题,请参考以下文章

Heroku:错误:找不到模块 node-gyp

为 npm 整数安装 node-gyp 错误

节点 10 - npm 安装期间的“node-gyp 重建”错误

Node-Gyp 在尝试安装 Brain.js 时返回错误

尝试配置或重建 node-gyp 时,出现错误:mac osx mavericks

node-gyp 错误找不到要使用的任何 Visual Studio 安装