今天接盘一个公司的项目,因为疫情原因,公司发不出工资,很多人都离开了,而我被迫留守,所以要接手离职同事的项目。
废话不多说,进入主题。
当我开心的拉完项目,准备装好依赖开始一顿debug操作时,发现.. 项目跑不动,报错说缺了node-sass模块,好吧,那就install一下,结果没装成功,基本可以确定是这个绊脚石害我跑不起来项目了。接着,先品一品报错内容,报错如下:
Building: /usr/local/bin/node /Users/money/work/dunming-ops-front/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library= gyp info it worked if it ends with ok gyp verb cli [ '/usr/local/bin/node', gyp verb cli '/Users/money/work/dunming-ops-front/node_modules/node-gyp/bin/node-gyp.js', gyp verb cli 'rebuild', gyp verb cli '--verbose', gyp verb cli '--libsass_ext=', gyp verb cli '--libsass_cflags=', gyp verb cli '--libsass_ldflags=', gyp verb cli '--libsass_library=' ] gyp info using node-gyp@3.8.0 gyp info using node@10.7.0 | darwin | x64 gyp verb command rebuild [] gyp verb command clean [] gyp verb clean removing "build" directory gyp verb command configure [] gyp verb check python checking for Python executable "python2" in the PATH gyp verb `which` succeeded python2 /usr/bin/python2 gyp verb check python version `/usr/bin/python2 -c "import sys; print "2.7.16 gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j gyp verb get node dir no --target version specified, falling back to host node version: 10.7.0 gyp verb command install [ '10.7.0' ] gyp verb install input version string "10.7.0" gyp verb install installing version: 10.7.0 gyp verb install --ensure was passed, so won't reinstall if already installed gyp verb install version is already installed, need to check "installVersion" gyp verb got "installVersion" 9 gyp verb needs "installVersion" 9 gyp verb install version is good gyp verb get node dir target node version installed: 10.7.0 gyp verb build dir attempting to create "build" dir: /Users/money/work/dunming-ops-front/node_modules/node-sass/build gyp verb build dir "build" dir needed to be created? /Users/money/work/dunming-ops-front/node_modules/node-sass/build gyp verb build/config.gypi creating config file gyp verb build/config.gypi writing out config file: /Users/money/work/dunming-ops-front/node_modules/node-sass/build/config.gypi gyp verb config.gypi checking for gypi file: /Users/money/work/dunming-ops-front/node_modules/node-sass/config.gypi gyp verb common.gypi checking for gypi file: /Users/money/work/dunming-ops-front/node_modules/node-sass/common.gypi gyp verb gyp gyp format was not specified; forcing "make" gyp info spawn /usr/bin/python2 gyp info spawn args [ '/Users/money/work/dunming-ops-front/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/Users/money/work/dunming-ops-front/node_modules/node-sass/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/Users/money/work/dunming-ops-front/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/Users/money/.node-gyp/10.7.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/Users/money/.node-gyp/10.7.0', gyp info spawn args '-Dnode_gyp_dir=/Users/money/work/dunming-ops-front/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/Users/money/.node-gyp/10.7.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/Users/money/work/dunming-ops-front/node_modules/node-sass', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' ] No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'. No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'. No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'. gyp: No Xcode or CLT version detected! gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/Users/money/work/dunming-ops-front/node_modules/node-gyp/lib/configure.js:345:16) gyp ERR! stack at ChildProcess.emit (events.js:182:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12) gyp ERR! System Darwin 19.4.0 gyp ERR! command "/usr/local/bin/node" "/Users/money/work/dunming-ops-front/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" gyp ERR! cwd /Users/money/work/dunming-ops-front/node_modules/node-sass gyp ERR! node -v v10.7.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok Build failed with error code: 1 npm WARN @intervolga/optimize-cssnano-plugin@1.0.6 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself. npm WARN @vue/preload-webpack-plugin@1.1.1 requires a peer of webpack@>=4.0.0 but none is installed. You must install peer dependencies yourself. npm WARN ajv-keywords@3.5.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself. npm WARN cache-loader@2.0.1 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself. npm WARN html-webpack-plugin@4.3.0 requires a peer of webpack@>=4.0.0 < 6.0.0 but none is installed. You must install peer dependencies yourself. npm WARN mini-css-extract-plugin@0.8.2 requires a peer of webpack@^4.4.0 but none is installed. You must install peer dependencies yourself. npm WARN terser-webpack-plugin@1.4.4 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@4.14.1 postinstall: `node scripts/build.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-sass@4.14.1 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.仔细阅读一番,无果,因为还没遇到过这类问题,所以花了一个多小时搜了下,网上结论大都是更新xcode或者可以更新xcode的一个小组件,xcode-select。
最后选择重装xcode-select,因为xcode好几个g呢,下载完都天亮了。
注意事项:
要删了本地的xcode-select相关文件,一开始以为可以直接装,覆盖了,但是装不了,删了之后就可以了。
sudo rm -rf $(xcode-select -print-path)然后再安装之
sudo xcode-select --install装完之后再安装你想安装的依赖/模块,就可以啦!
最后吐槽下,sass这个老东西,发现接手的这个项目用的包,技术都不是我喜欢的简洁,快速方便。less就很香啊,不需要依赖ruby,直接装就好了,害我装这么多东西。只能说一下旧的历史遗留下来的东西好用但是麻烦,毕竟是过去的