npm 更新因 cryptonote 而失败

npm 更新因 cryptonote 而失败

我正在安装 electroneum 池 git。我运行了 npm update,但一直出现相同的错误,我尝试更改节点版本,但没有任何变化。

这是错误

root@ubuntu:~/pool# npm 更新

>[电子邮件保护]安装 /root/pool/node_modules/bignum
> node-pre-gyp 安装--fallback-to-build

[bignum] 成功:“/root/pool/node_modules/bignum/binding/bignum.node”已通过远程安装

>[电子邮件保护]安装 /root/pool/node_modules/cryptonote-util
> node-gyp 重建

make:进入目录 '/root/pool/node_modules/cryptonote-util/build'
  CXX (目标) 发布/obj.target/cryptonote/src/main.o
  CXX(目标)发布/obj.target/cryptonote/src/cryptonote_core/cryptonote_format_utils.o
../src/cryptonote_core/cryptonote_format_utils.cpp: 在函数 'bool cryptonote::check_proof_of_work(const cryptonote::block&, cryptonote::difficulty_type, crypto::hash&' 中:
../src/cryptonote_core/cryptonote_format_utils.cpp:938:3:警告:返回非 void 的函数中没有返回语句 [-Wreturn-type]
   }
   ^
  CC (目标) 发布/obj.target/cryptonote/src/crypto/tree-hash.o
  CXX (目标) 发布/obj.target/cryptonote/src/crypto/crypto.o
../src/crypto/crypto.cpp: 在函数‘std::size_t crypto::rs_comm_size(std::size_t)’中:
../src/crypto/crypto.cpp:224:58: 错误:不完整类型‘crypto::rs_comm:: []’的值初始化
     返回 sizeof(rs_comm) + pubs_count * sizeof(rs_comm().ab[0]);
                                                          ^
cryptonote.target.mk:116: 目标‘Release/obj.target/cryptonote/src/crypto/crypto.o’的配方失败
制作:*** [Release/obj.target/cryptonote/src/crypto/crypto.o] 错误 1
make:离开目录 '/root/pool/node_modules/cryptonote-util/build'
gyp ERR!构建错误
gyp ERR!堆栈错误:`make` 失败,退出代码:2
gyp ERR!ChildProcess.onExit 处的堆栈(/usr/local/lib/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR!emitTwo 处的堆栈(events.js:87:13)
gyp ERR!ChildProcess.emit 处的堆栈(events.js:172:7)
gyp ERR!堆栈位于 Process.ChildProcess._handle.onexit(internal/child_process.js:211:12)
gyp ERR!系统 Linux 4.10.0-38-generic
gyp ERR!命令“/usr/bin/nodejs”“/usr/local/bin/node-gyp”“重建”
gyp ERR!cwd /root/pool/node_modules/cryptonote-util
gyp ERR!节点-v v4.7.2
gyp 错误!node-gyp -v v3.6.2
gyp ERR!不好
[电子邮件保护]/根/池
──[电子邮件保护] 
──[电子邮件保护] 
──[电子邮件保护] 
──[电子邮件保护] 
──[电子邮件保护] 
──[电子邮件保护]  (git://github.com/zone117x/node-multi-hashing.git#73996fe77104108f2d66ef750b3e1bce42e4d8f0)
└──[电子邮件保护] 

npm 错误!Linux 4.10.0-38-generic
npm 错误!argv“/usr/bin/nodejs”“/usr/bin/npm”“更新”
npm 错误!节点 v4.7.2
npm 错误! npm v3.5.2
npm ERR!代码 ELIFECYCLE

npm 错误![电子邮件保护]安装:`node-gyp rebuild`
npm ERR!退出状态 1
npm 错误!
npm ERR!失败于[电子邮件保护]安装脚本“node-gyp rebuild”。
npm ERR!请确保您安装了最新版本的 node.js 和 npm。
npm ERR!如果出现此问题,则很可能是 cryptonote-util 包的问题,
npm ERR!不是 npm 本身。
npm ERR!告诉作者这在你的系统上失败了:
npm ERR!node-gyp 重建
npm ERR!您可以通过以下方式获取有关如何为此项目打开问题的信息:
npm ERR!npm 错误 cryptonote-util
npm ERR!如果不可用,您可以通过以下方式获取其信息:
npm ERR!npm 所有者 ls cryptonote-util
npm ERR!上面可能还有额外的日志输出。

npm ERR!请在任何支持请求中包含以下文件:
npm 错误!/root/pool/npm-debug.log

答案1

npm bignum需要安装 Python 2.7 版本。

从另一位发帖者那里得知,Python 3+ 无法运行我的库中的某些函数。安装 Python 2.7 并尝试使用新的导出路径来修复此问题。

https://www.python.org/download/releases/2.7/

 set PYTHONPATH=C:\Python27
 set PYTHON=%PYTHONPATH%\python.exe

重新安装 bignum 库。可能需要重新编译。

  rm -fR ./node_modules/bignum/*
  npm install bignum --save

相关内容