【问题标题】:Unable to resolve dependency tree after upgrading node, failing on node-sass升级节点后无法解析依赖树,在 node-sass 上失败
【发布时间】:2022-03-04 21:58:49
【问题描述】:

将 Node 升级到最新版本后,当我尝试 npm audit fix --force 时开始收到这些错误消息。似乎我无法修复我的依赖树问题。我已尝试广泛搜索此错误的解决方案,并尝试了许多不同的解决方案,但都没有奏效。唯一的解决方案应该是降级到旧的 Node 版本吗?

npm ERR! path /Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c node scripts/build.js
npm ERR! Building: /usr/local/bin/node /Users/Mac/Desktop/Projects/folder/Website/folder/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/local/bin/node',
npm ERR! gyp verb cli   '/Users/Mac/Desktop/Projects/folder/Website/folder/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.7.0
npm ERR! gyp info using node@16.13.0 | darwin | 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` succeeded python2 /usr/bin/python2
npm ERR! gyp verb check python version `/usr/bin/python2 -c "import platform; print(platform.python_version());"` returned: "2.7.16\n"
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 16.13.0
npm ERR! gyp verb command install [ '16.13.0' ]
npm ERR! gyp verb install input version string "16.13.0"
npm ERR! gyp verb install installing version: 16.13.0
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 9
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is good
npm ERR! gyp verb get node dir target node version installed: 16.13.0
npm ERR! gyp verb build dir attempting to create "build" dir: /Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-sass/build
npm ERR! gyp verb build dir "build" dir needed to be created? /Users/Mac/Desktop/Projects/folder/Website/filder/node_modules/node-sass/build
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: /Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-sass/build/config.gypi
npm ERR! (node:19391) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
npm ERR! (Use `node --trace-deprecation ...` to show where the warning was created)
npm ERR! gyp verb config.gypi checking for gypi file: /Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-sass/config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: /Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-sass/common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "make"
npm ERR! gyp info spawn /usr/bin/python2
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-sass/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/Mac/.node-gyp/16.13.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/Mac/.node-gyp/16.13.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/Mac/.node-gyp/16.13.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-sass',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
npm ERR!
npm ERR! No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.
npm ERR!
npm ERR! No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.
npm ERR!
npm ERR! gyp: No Xcode or CLT version detected!
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (/Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-gyp/lib/configure.js:345:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 19.6.0
npm ERR! gyp ERR! command "/usr/local/bin/node" "/Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /Users/Mac/Desktop/Projects/folder/Website/folder/node_modules/node-sass
npm ERR! gyp ERR! node -v v16.13.0
npm ERR! gyp ERR! node-gyp -v v3.7.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!     /Users/Mac/.npm/_logs/2021-11-24T18_21_54_491Z-debug.log

【问题讨论】:

  • 尝试删除你的 node_modules 文件夹和 package.lock.json 文件并再次运行 npm i。
  • 嗨@rajesh,我试过那个,但每次我运行npm audit fix --force时它仍然给我同样的错误。

标签: node.js npm npm-install node-gyp node-sass


【解决方案1】:

第一个解决方案

首先,确保您的 node.js 版本不优于最新的稳定版本(当前为 16.14.0)。你可以在这里查看nodejs.org

然后,要编译.scss.sass 文件,您应该使用sass 包而不是node-sass。这样做:

npm uninstall node-sass --save
npm install sass --save

第二种解决方案

如果你出于某种原因想要node-sass,你应该将你的nodes.js版本降级到v14。为此,您可以使用来自 npm 的 n 包,如下所示:

sudo npm install -g n
sudo n 14

第三种解决方案

这个可能行不通,但要知道,一旦我不得不处理这个问题并通过删除node-sass 包并像这样重新安装它来解决它:

npm uninstall node-sass --save
npm install node-sass --save

【讨论】:

  • 谢谢@yousoumar。我刚试过这个,但仍然得到同样的错误。我同意你的观点,这是冲突的,但我不明白为什么在将 node-sassnode-gyp 升级到最新支持的版本后仍然给我同样的问题......
【解决方案2】:

我把所有东西都扔掉了,重新安装了Xcode、Node和node-sass,问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    • 2021-06-03
    • 2021-08-04
    • 2021-02-19
    • 2023-02-09
    • 2015-11-22
    • 2019-12-04
    相关资源
    最近更新 更多