首页 > 解决方案 > 在 Ubuntu 操作系统中出现 node-gyp 和 node-sass 错误

问题描述

执行 npm install 时遇到此问题。如何在 Ubuntu OS 20.04 中解决此问题。我找到了一些相关的东西来解决它,但都与窗口操作系统有关。在 Ubuntu 操作系统上找不到解决此问题的方法。我也做了 sudo apt-get install node-gyp 但它也给出了一些错误。这是命令用于解决 windows install --global windows-build-tools 上的问题,但不适用于 Ubuntu OS。

npm ERR! code 1
npm ERR! path /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c node scripts/build.js
npm ERR! Building: /usr/bin/node /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   '/usr/bin/node',
npm ERR! gyp verb cli   '/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/node-gyp/bin/node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@15.11.0 | linux | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:200:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:200:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:200:21)
npm ERR! gyp verb `which` failed  python Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:200:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp ERR! configure error 
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/node-gyp/lib/configure.js:484:19)
npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/node-gyp/lib/configure.js:406:16)
npm ERR! gyp ERR! stack     at F (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:68:16)
npm ERR! gyp ERR! stack     at E (/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:80:29)
npm ERR! gyp ERR! stack     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/which/which.js:89:16
npm ERR! gyp ERR! stack     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/index.js:42:5
npm ERR! gyp ERR! stack     at /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/isexe/mode.js:8:5
npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:200:21)
npm ERR! gyp ERR! System Linux 5.8.0-44-generic
npm ERR! gyp ERR! command "/usr/bin/node" "/home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /home/ali/Desktop/AlfaBolt/pakistanbooking_management_portal/node_modules/node-sass
npm ERR! gyp ERR! node -v v15.11.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok 
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/ali/.npm/_logs/2021-03-06T06_24_10_272Z-debug.log

标签: javascriptpythonnode.jsnpmnode-gyp

解决方案


错误消息摘录:

...
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
...

看起来错误是说python2安装这个包是必需的,但我不确定为什么节点模块应该python2在 2021 年需要。

只需python2使用标准方式安装在您的机器上即可。

例如,在 Ubuntu 上,您可以通过终端安装:

sudo apt install python2

推荐阅读