win10 安装 framework7 报错解决思路和方法

一定要用管理员权限打开cmd或者PowerShell

lovell/sharp安装失败

https://github.com/lovell/sharp

D:\VueWorkspaces\cordova-app-01>npm i framework7-cli -g
npm WARN deprecated opn@6.0.0: The package has been renamed to `open`
D:\Programs\nodejs\node_global\framework7 -> D:\Programs\nodejs\node_global\node_modules\framework7-cli\index.js
D:\Programs\nodejs\node_global\f7 -> D:\Programs\nodejs\node_global\node_modules\framework7-cli\index.js

> sharp@0.23.2 install D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.8.1/libvips-8.8.1-win32-x64.tar.gz
ERR! sharp Please delete D:\Programs\nodejs\node_cache\_libvips\libvips-8.8.1-win32-x64.tar.gz as it is not a valid tarball
ERR! sharp zlib: unexpected end of file
info sharp Attempting to build from source via node-gyp but this may fail due to the above error
info sharp Please see https://sharp.pixelplumbing.com/page/install for required dependencies

D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp>if not defined npm_config_node_gyp (node "D:\Programs\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "D:\Programs\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Command failed: D:\Programs\Python\Python37-32\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:978:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "D:\\Programs\\nodejs\\node.exe" "D:\\Programs\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp
gyp ERR! node -v v11.4.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sharp@0.23.2 install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sharp@0.23.2 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 install --global --production windows-build-tools
会自动下载 python2.7Microsoft Visual StudioC:\Users\User\.windows-build-tools中,且自动安装。npm install --global --production windows-build-tools
python2.7自动解压至当前目录下C:\Users\User\.windows-build-tools\python27

Microsoft Visual Studio自动安装至C:\Program Files (x86)\Microsoft Visual Studio

设置 node-gpy 依赖的python版本

https://github.com/nodejs/node-gyp
npm config set python C:\Users\User\.windows-build-tools\python27

运行成功

D:\VueWorkspaces\cordova-app-01>npm install -g framework7-cli
npm WARN deprecated opn@6.0.0: The package has been renamed to `open`
D:\Programs\nodejs\node_global\f7 -> D:\Programs\nodejs\node_global\node_modules\framework7-cli\index.js
D:\Programs\nodejs\node_global\framework7 -> D:\Programs\nodejs\node_global\node_modules\framework7-cli\index.js

> sharp@0.23.2 install D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Using cached D:\Programs\nodejs\node_cache\_libvips\libvips-8.8.1-win32-x64.tar.gz
info sharp Creating D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\Release
info sharp Copying DLLs from D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\lib to D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\Release
prebuild-install WARN install No prebuilt binaries found (target=11.4.0 runtime=node arch=x64 libc= platform=win32)

D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp>if not defined npm_config_node_gyp (node "D:\Programs\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "D:\Programs\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
  VError.cpp
  VInterpolate.cpp
  VImage.cpp
  win_delay_load_hook.cc
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\libvips\cplusplus\VError.cpp) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\libvips-cpp.vcxp
roj]
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\libvips\cplusplus\VInterpolate.cpp) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\libvips-cp
p.vcxproj]
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\libvips\cplusplus\VImage.cpp) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\libvips-cpp.vcxp
roj]
    正在创建库 D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\Release\libvips-cpp.lib 和对象 D:\Programs\nodejs\node_global\node_modules\f
  ramework7-cli\node_modules\sharp\build\Release\libvips-cpp.exp
  正在生成代码
  All 1012 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  已完成代码的生成
  libvips-cpp.vcxproj -> D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\Release\\libvips-cpp.dll
  common.cc
  metadata.cc
  stats.cc
  operations.cc
  pipeline.cc
  sharp.cc
  utilities.cc
  win_delay_load_hook.cc
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\operations.cc) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\sharp.vcxproj]
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\pipeline.cc) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\sharp.vcxproj]
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\stats.cc) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\sharp.vcxproj]
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\sharp.cc) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\sharp.vcxproj]
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\metadata.cc) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\sharp.vcxproj]
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\utilities.cc) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\sharp.vcxproj]
d:\programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\include\glib-2.0\glib\gtestutils.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件
保存为 Unicode 格式以防止数据丢失 (编译源文件 ..\src\common.cc) [D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\sharp.vcxproj]
    正在创建库 D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\Release\sharp.lib 和对象 D:\Programs\nodejs\node_global\node_modules\framewo
  rk7-cli\node_modules\sharp\build\Release\sharp.exp
  正在生成代码
  All 1291 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  已完成代码的生成
  sharp.vcxproj -> D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\Release\\sharp.node
info sharp Creating D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\Release
info sharp Copying DLLs from D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\vendor\lib to D:\Programs\nodejs\node_global\node_modules\framework7-cli\node_modules\sharp\build\Release
+ framework7-cli@3.0.5
added 350 packages from 331 contributors in 70.933s

D:\VueWorkspaces\cordova-app-01>framework7 --version
3.0.5

D:\VueWorkspaces\cordova-app-01>framework7 create --ui
√ All good, you have latest framework7-cli version.
√ Launching Framework7 UI server

Framework7 CLI UI is running on http://localhost:3001 (CTRL + C to exit)
Logo

前往低代码交流专区

更多推荐