Npm 如何在节点上安装串行端口模块?

Npm 如何在节点上安装串行端口模块?,npm,node-modules,raspbian,node-serialport,orange-pi,Npm,Node Modules,Raspbian,Node Serialport,Orange Pi,在节点上安装串行模块时出现问题。我正在使用Raspbian服务器处理orange pi zero H2 root@OrangePI:/home/node# npm install serialport 返回 npm WARN package.json one@1.0.0 No description npm WARN package.json one@1.0.0 No repository field. npm WARN package.json one@1.0.0 No README dat

在节点上安装串行模块时出现问题。我正在使用Raspbian服务器处理orange pi zero H2

root@OrangePI:/home/node# npm install serialport
返回

npm WARN package.json one@1.0.0 No description
npm WARN package.json one@1.0.0 No repository field.
npm WARN package.json one@1.0.0 No README data
npm WARN engine serialport@8.0.6: wanted: {"node":">=8.6.0"} (current:     {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/parser-ready@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/binding-mock@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/parser-byte-length@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/stream@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/bindings@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/parser-readline@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/parser-regex@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/parser-delimiter@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/parser-cctalk@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/binding-abstract@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine @serialport/binding-abstract@8.0.6: wanted: {"node":">=8.6.0"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine prebuild-install@5.3.3: wanted: {"node":">=6"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine expand-template@2.0.3: wanted: {"node":">=6"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine decompress-response@4.2.1: wanted: {"node":">=8"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine mimic-response@2.0.0: wanted: {"node":">=8"} (current: {"node":"4.9.1","npm":"2.15.11"})
npm WARN engine readable-stream@3.4.0: wanted: {"node":">= 6"} (current: {"node":"4.9.1","npm":"2.15.11"})

日志文件的最后一部分

5807 info install prebuild-install@5.3.3
5808 info postinstall prebuild-install@5.3.3
5809 verbose unlock done using /root/.npm/_locks/prebuild-install-da7fa1c0b3187458.lock for /home/node/node_modules/serialport/node_modules/@serialport/bindings/node_modules/prebuild-install
5810 verbose about to build /home/node/node_modules/serialport/node_modules/@serialport/bindings
5811 info build /home/node/node_modules/serialport/node_modules/@serialport/bindings
5812 info linkStuff @serialport/bindings@8.0.6
5813 silly linkStuff @serialport/bindings@8.0.6 has /home/node/node_modules/serialport/node_modules     as its parent node_modules
5814 verbose linkBins @serialport/bindings@8.0.6
5815 verbose linkMans @serialport/bindings@8.0.6
5816 verbose rebuildBundles @serialport/bindings@8.0.6
5817 verbose rebuildBundles [ '.bin', '@serialport', 'bindings', 'nan', 'prebuild-install' ]
5818 info install @serialport/bindings@8.0.6
5819 verbose unsafe-perm in lifecycle true
5820 info @serialport/bindings@8.0.6 Failed to exec install script
5821 verbose unlock done using /root/.npm/_locks/serialport-bindings-291f31ff80e6691d.lock for     /home/node/node_modules/serialport/node_modules/@serialport/bindings
5822 verbose about to build /home/node/node_modules/serialport
5823 verbose unlock done using /root/.npm/_locks/serialport-a4250c37e3372508.lock for     /home/node/node_modules/serialport
5824 verbose stack Error: @serialport/bindings@8.0.6 install: `prebuild-install --tag-prefix     @serialport/bindings@ || node-gyp rebuild`
5824 verbose stack Exit status 1
5824 verbose stack     at EventEmitter.<anonymous> (/opt/node/lib/node_modules/npm/lib/utils/lifecycle.js:217:16)
5824 verbose stack     at emitTwo (events.js:87:13)
5824 verbose stack     at EventEmitter.emit (events.js:172:7)
5824 verbose stack     at ChildProcess.<anonymous>     (/opt/node/lib/node_modules/npm/lib/utils/spawn.js:24:14)
5824 verbose stack     at emitTwo (events.js:87:13)
5824 verbose stack     at ChildProcess.emit (events.js:172:7)
5824 verbose stack     at maybeClose (internal/child_process.js:862:16)
5824 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:222:5)
5825 verbose pkgid @serialport/bindings@8.0.6
5826 verbose cwd /home/node
5827 error Linux 3.4.39
5828 error argv "/opt/node/bin/node" "/opt/node/bin/npm" "install" "--unsafe-perm" "serialport"
5829 error node v4.9.1
5830 error npm  v2.15.11
5831 error code ELIFECYCLE
5832 error @serialport/bindings@8.0.6 install: `prebuild-install --tag-prefix @serialport/bindings@     || node-gyp rebuild`
5832 error Exit status 1
5833 error Failed at the @serialport/bindings@8.0.6 install script 'prebuild-install --tag-prefix     @serialport/bindings@ || node-gyp rebuild'.
5833 error This is most likely a problem with the @serialport/bindings package,
5833 error not with npm itself.
5833 error Tell the author that this fails on your system:
5833 error     prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
5833 error You can get information on how to open an issue for this project with:
5833 error     npm bugs @serialport/bindings
5833 error Or if that isn't available, you can get their info via:
5833 error
5833 error     npm owner ls @serialport/bindings
5833 error There is likely additional logging output above.
5834 verbose exit [ 1, true ]
5807信息安装预编译-install@5.3.3
5808信息安装后预构建-install@5.3.3
5809使用/root/.npm/_locks/prebuild-install-da7fa1c0b3187458.lock for/home/node/node_modules/serialport/node_modules/@serialport/bindings/node_modules/prebuild install完成详细解锁
5810关于构建/home/node/node_modules/serialport/node_modules/@serialport/bindings的详细说明
5811信息构建/home/node/node_modules/serialport/node_modules/@serialport/bindings
5812 info linkStuff@serialport/bindings@8.0.6
5813愚蠢的linkStuff@serialport/bindings@8.0.6将/home/node/node_modules/serialport/node_modules作为其父节点_模块
5814 serialport的详细链接箱/bindings@8.0.6
5815详细链接人@serialport/bindings@8.0.6
5816详细重建绑定@serialport/bindings@8.0.6
5817详细重建绑定['.bin','@serialport',bindings',nan',prebuild install']
5818信息安装@serialport/bindings@8.0.6
5819生命周期中的详细不安全perm为true
5820 info@serialport/bindings@8.0.6无法执行安装脚本
5821使用/root/.npm/_locks/serialport-bindings-291f31ff80e6691d.lock for/home/node/node_modules/serialport/node_modules/@serialport/bindings完成详细解锁
5822详细即将生成/home/node/node_模块/serialport
5823使用/root/.npm/_locks/serialport-a4250c37e3372508.lock for/home/node/node_模块/serialport完成详细解锁
5824详细堆栈错误:@serialport/bindings@8.0.6install:`prebuild install--tag prefix@serialport/bindings@| | node gyp rebuild`
5824详细堆栈退出状态1
5824 EventEmitter上的详细堆栈。(/opt/node/lib/node_modules/npm/lib/utils/lifecycle.js:217:16)
emitTwo上的5824详细堆栈(events.js:87:13)
5824 EventEmitter.emit上的详细堆栈(events.js:172:7)
5824子进程上的详细堆栈。(/opt/node/lib/node_modules/npm/lib/utils/spawn.js:24:14)
emitTwo上的5824详细堆栈(events.js:87:13)
ChildProcess.emit处的5824详细堆栈(events.js:172:7)
maybeClose的5824详细堆栈(internal/child_process.js:862:16)
5824 Process.ChildProcess.\u handle.onexit处的详细堆栈(internal/child\u Process.js:222:5)
5825详细pkgid@serialport/bindings@8.0.6
5826详细cwd/主/节点
5827错误Linux 3.4.39
5828错误argv“/opt/node/bin/node”“/opt/node/bin/npm”“安装”“--不安全的perm”“串行端口”
5829错误节点v4.9.1
5830错误npm v2.15.11
5831错误代码ELIFECYCLE
5832错误@串行端口/bindings@8.0.6install:`prebuild install--tag prefix@serialport/bindings@| | node gyp rebuild`
5832错误退出状态1
5833错误在@serialport失败/bindings@8.0.6安装脚本“预构建安装——标记前缀@serialport/bindings@| | node gyp rebuild”。
5833错误这很可能是@serialport/bindings包的问题,
5833错误与npm本身无关。
5833错误告诉作者此操作在您的系统上失败:
5833错误预构建安装--标记前缀@serialport/bindings@| |节点gyp rebuild
5833错误您可以通过以下方式获取有关如何打开此项目问题的信息:
5833错误npm错误@serialport/bindings
5833错误或如果不可用,您可以通过以下方式获取他们的信息:
5833错误
5833错误npm所有者ls@serialport/bindings
5833错误上面可能有额外的日志输出。
5834详细退出[1,true]
默认情况下,此版本中未安装make, 欢迎提出任何建议,谢谢您的时间。

更新您的节点

警告引擎serialport@8.0.6:通缉:{“节点”:“>=8.6.0”}(当前:{“节点”:“4.9.1”,“npm”:“2.15.11”})

您当前的版本不理解ES6语法


我也有类似的问题。我的解决方案是:我更明确地知道我使用的是哪个版本的nodejs。我有最新的13.8版本(在写这篇文章的时候),我有和OP一样的问题

所以我安装了nvm并开始使用它来选择我的节点

$ nvm install --lts 
$ nvm use --lts
Now using node v12.16.0
当前的长期支持版本(在撰写本文时)是12.6。我为该应用程序重新编写了npm安装程序,此后我的串行端口没有问题。理论上,我可以一直安装不同版本的nodejs,直到我得到一个可以工作的版本

5807 info install prebuild-install@5.3.3
5808 info postinstall prebuild-install@5.3.3
5809 verbose unlock done using /root/.npm/_locks/prebuild-install-da7fa1c0b3187458.lock for /home/node/node_modules/serialport/node_modules/@serialport/bindings/node_modules/prebuild-install
5810 verbose about to build /home/node/node_modules/serialport/node_modules/@serialport/bindings
5811 info build /home/node/node_modules/serialport/node_modules/@serialport/bindings
5812 info linkStuff @serialport/bindings@8.0.6
5813 silly linkStuff @serialport/bindings@8.0.6 has /home/node/node_modules/serialport/node_modules     as its parent node_modules
5814 verbose linkBins @serialport/bindings@8.0.6
5815 verbose linkMans @serialport/bindings@8.0.6
5816 verbose rebuildBundles @serialport/bindings@8.0.6
5817 verbose rebuildBundles [ '.bin', '@serialport', 'bindings', 'nan', 'prebuild-install' ]
5818 info install @serialport/bindings@8.0.6
5819 verbose unsafe-perm in lifecycle true
5820 info @serialport/bindings@8.0.6 Failed to exec install script
5821 verbose unlock done using /root/.npm/_locks/serialport-bindings-291f31ff80e6691d.lock for     /home/node/node_modules/serialport/node_modules/@serialport/bindings
5822 verbose about to build /home/node/node_modules/serialport
5823 verbose unlock done using /root/.npm/_locks/serialport-a4250c37e3372508.lock for     /home/node/node_modules/serialport
5824 verbose stack Error: @serialport/bindings@8.0.6 install: `prebuild-install --tag-prefix     @serialport/bindings@ || node-gyp rebuild`
5824 verbose stack Exit status 1
5824 verbose stack     at EventEmitter.<anonymous> (/opt/node/lib/node_modules/npm/lib/utils/lifecycle.js:217:16)
5824 verbose stack     at emitTwo (events.js:87:13)
5824 verbose stack     at EventEmitter.emit (events.js:172:7)
5824 verbose stack     at ChildProcess.<anonymous>     (/opt/node/lib/node_modules/npm/lib/utils/spawn.js:24:14)
5824 verbose stack     at emitTwo (events.js:87:13)
5824 verbose stack     at ChildProcess.emit (events.js:172:7)
5824 verbose stack     at maybeClose (internal/child_process.js:862:16)
5824 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:222:5)
5825 verbose pkgid @serialport/bindings@8.0.6
5826 verbose cwd /home/node
5827 error Linux 3.4.39
5828 error argv "/opt/node/bin/node" "/opt/node/bin/npm" "install" "--unsafe-perm" "serialport"
5829 error node v4.9.1
5830 error npm  v2.15.11
5831 error code ELIFECYCLE
5832 error @serialport/bindings@8.0.6 install: `prebuild-install --tag-prefix @serialport/bindings@     || node-gyp rebuild`
5832 error Exit status 1
5833 error Failed at the @serialport/bindings@8.0.6 install script 'prebuild-install --tag-prefix     @serialport/bindings@ || node-gyp rebuild'.
5833 error This is most likely a problem with the @serialport/bindings package,
5833 error not with npm itself.
5833 error Tell the author that this fails on your system:
5833 error     prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
5833 error You can get information on how to open an issue for this project with:
5833 error     npm bugs @serialport/bindings
5833 error Or if that isn't available, you can get their info via:
5833 error
5833 error     npm owner ls @serialport/bindings
5833 error There is likely additional logging output above.
5834 verbose exit [ 1, true ]
const { hostname, port, protocol, auth, path } = url.parse(opts.url)
      ^
SyntaxError: Unexpected token {
$ nvm install --lts 
$ nvm use --lts
Now using node v12.16.0