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 错误的主要内容,如果未能解决你的问题,请参考以下文章
节点 10 - npm 安装期间的“node-gyp 重建”错误