我正在尝试学习如何使用blockstack https://docs.blockstack.org/browser/hello-blockstack.html,这是react.js类型的应用程序。
构建应用并运行npm
时,这是我收到的错误:
C:\Users\Davidb.TC\Desktop\blockstack\hello-world-tutorial\node_modules\tiny-secp256k1>if not defined npm_config_node_gyp (node "C:\Users\Davidb.TC\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\Davidb.TC\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Command failed: C:\Python37\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack File "<string>", line 1
gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack at ChildProcess.exithandler (child_process.js:294:12)
gyp ERR! stack at ChildProcess.emit (events.js:189:13)
gyp ERR! stack at maybeClose (internal/child_process.js:970:16)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Davidb.TC\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Davidb.TC\Desktop\blockstack\hello-world-tutorial\node_modules\tiny-secp256k1
gyp ERR! node -v v10.15.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! tiny-secp256k1@1.0.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the tiny-secp256k1@1.0.1 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! C:\Users\Davidb.TC\AppData\Roaming\npm-cache\_logs\2019-04-11T20_16_40_788Z-debug.log
有人知道我该怎么做才能解决此错误吗?
答案 0 :(得分:1)
这些类型的 node-gyp
错误可能是在系统上安装了Python 3并且期望使用Python2.7时引起的。 node-gyp贡献者声称,目前对Python3的支持还不够完善,如果遇到任何问题,建议使用Python2.7。
虽然您可能需要更改Python版本,但由于您似乎在Windows计算机上,并且在 node-gyp rebuild
步骤中失败,因此可能没有必要。可能值得首先尝试以下命令(确保以管理员模式使用CMD或Powershell:
npm install -g windows-build-tools
windows-build-tools
程序包是node-gyp在Windows上正常工作所必需的,如here所述。之后,请尝试再次运行 npm install
。
如果问题仍然存在或发生与node-gyp相关的另一个错误,则可能必须安装Python2.7并将npm设置为使用Python2.7
npm config set python /path/to/executable/python2.7
您可以在node-gyp github page上阅读有关可能的 node-gyp
问题以及如何解决这些问题的更多信息。