node-sass模块在安装过程中调用python出现语法错误, 怎么解决?

7,916次阅读
没有评论

共计 3795 个字符,预计需要花费 10 分钟才能阅读完成。

贫困大赛形象代言人
2023-10-07 14:06:47
浏览数 (2625)

微信截图_20231007140617

node-sass 模块在安装过程中调用 python 出现语法错误:

npm ERR! code 1
npm ERR! path D:appxxd-ennode_modulesnode-sass
npm ERR! command failed
npm ERR! command C:Windowssystem32cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:Program Filesnodejsnode.exe D:appxxd-ennode_modulesnode-gypbinnode-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   'C:Program Filesnodejsnode.exe',
npm ERR! gyp verb cli   'D:appxxd-ennode_modulesnode-gypbinnode-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@18.15.0 | win32 | 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 (D:appxxd-ennode_moduleswhichwhich.js:13:12)
npm ERR! gyp verb `which` failed     at F (D:appxxd-ennode_moduleswhichwhich.js:68:19)
npm ERR! gyp verb `which` failed     at E (D:appxxd-ennode_moduleswhichwhich.js:80:29)
npm ERR! gyp verb `which` failed     at D:appxxd-ennode_moduleswhichwhich.js:89:16
npm ERR! gyp verb `which` failed     at D:appxxd-ennode_modulesisexeindex.js:42:5
npm ERR! gyp verb `which` failed     at D:appxxd-ennode_modulesisexewindows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:208:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (D:appxxd-ennode_moduleswhichwhich.js:13:12)
npm ERR! gyp verb `which` failed     at F (D:appxxd-ennode_moduleswhichwhich.js:68:19)
npm ERR! gyp verb `which` failed     at E (D:appxxd-ennode_moduleswhichwhich.js:80:29)
npm ERR! gyp verb `which` failed     at D:appxxd-ennode_moduleswhichwhich.js:89:16
npm ERR! gyp verb `which` failed     at D:appxxd-ennode_modulesisexeindex.js:42:5
npm ERR! gyp verb `which` failed     at D:appxxd-ennode_modulesisexewindows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:208: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` succeeded python C:Users42538anaconda3python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: C:Users42538anaconda3python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack   File "", line 1
npm ERR! gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack                       ^
npm ERR! gyp ERR! stack SyntaxError: invalid syntax
npm ERR! gyp ERR! stack 
npm ERR! gyp ERR! stack     at ChildProcess.exithandler (node:child_process:419:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at maybeClose (node:internal/child_process:1091:16)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:302:5)
npm ERR! gyp ERR! System Windows_NT 10.0.19045
npm ERR! gyp ERR! command "C:Program Filesnodejsnode.exe" "D:appxxd-ennode_modulesnode-gypbinnode-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd D:appxxd-ennode_modulesnode-sass
npm ERR! gyp ERR! node -v v18.15.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

可以尝试以下几种方法:

1. 升级 node-sass 到最新版本, 新版本移除了对 python 2 的依赖。

npm uninstall node-sass
npm install node-sass

2. 如果必须使用旧版本 node-sass, 可以单独安装 python 2, 并确保将其路径添加到 PATH 环境变量中。

3. 在安装 node-sass 时指定 python 2 的路径:

npm install node-sass --python=python2

4. 使用 node-gyp 自定义编译参数, 跳过执行 python 脚本:

npm install --node-gyp-norequire

总体来说, 建议尽可能升级到最新版本的 node-sass, 这样可以避免与 python 2 的兼容问题。

如果必须使用旧版本, 可以尝试指定 python 2 的路径或者自定义编译参数。

原文地址: node-sass 模块在安装过程中调用 python 出现语法错误, 怎么解决?

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-20发表,共计3795字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)