npm node-sass安装失败解决方法

node-sass安装失败,提示如下:

gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python D:\Program Files\Python38\python.EXE
gyp ERR! configure error
gyp ERR! stack Error: Command failed: D:\Program Files\Python38\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:303:12)
gyp ERR! stack     at ChildProcess.emit (events.js:310:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "D:\\Program Files\\nodejs\\node.exe" "E:\\JDProject\\renren-fast-vue\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd E:\JDProject\renren-fast-vue\node_modules\node-sass
gyp ERR! node -v v12.16.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.9.0 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.9.0 postinstall 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\HP\AppData\Roaming\npm-cache\_logs\2020-05-23T06_27_44_952Z-debug.log

  

原因

print "%s.%s.%s" % sys.version_info[:3];

为python2.x版本的语法,如果本地安装的是python3.x,就会报此错误

 

解决方法:

 1. 删除项目中的package-lock.json文件,清除缓存,更新版本号

  #后续步骤运行npm install 命令时会重新生成package-lock.json文件

 

1 npm cache clear --force
2 修改 package.json 文件 提高 node-sass 版本
"node-sass": "4.14.1",
    "npm": "^6.14.5",  #sass-loader版本为可选项,如果项目很旧,sass-loader版本最好不要改动,否则容易引起项目启动异常
    "sass-loader": "8.0.2",
3 保存后重新 npm install 即可



之所以报 就是上面那个该死的 "C\Python27\python.exe"找不到。 

原因是 node-sass跟node就版本对应的问题的。

打开命令行 查看 node版本: node  -v

 

node版本不对应,升级node或者降级

查看node-sass和sass-loader版本是否对应
以下是部分版本号对应,具体可百度

sass-loader 4.1.1,node-sass 4.3.0
sass-loader 7.0.3,node-sass 4.7.2
sass-loader 7.3.1,node-sass 4.7.2
sass-loader 7.3.1,node-sass 4.14.1

 


在项目环境中执行

npm uninstall node-sass sass-loader
npm install sass-loader@版本号 node-sass@版本号 --save-dev //安装对应的版本

 

 

 




posted @ 2021-10-19 10:59  Samuel-Leung  阅读(4916)  评论(0编辑  收藏  举报