Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node Sass fails to compile. Should migrate to Dart Sass #60

Open
mherchel opened this issue Jul 2, 2023 · 0 comments · May be fixed by #61
Open

Node Sass fails to compile. Should migrate to Dart Sass #60

mherchel opened this issue Jul 2, 2023 · 0 comments · May be fixed by #61

Comments

@mherchel
Copy link

mherchel commented Jul 2, 2023

Problem

Doing a yarn or npm install on the current codebase frequently doesn't work because libSass (which is a dependency of node-sass) does not compile.

LibSass compile error

yarn install v1.22.19
info No lockfile found.
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] 🔍  Resolving packages...
warning @11ty/eleventy > pug > pug-code-gen > constantinople > babel-types > babel-runtime > core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
warning netlify-lambda@1.6.3: netlify-lambda is deprecated. Checkout https://github.com/netlify/netlify-lambda for more details.
warning netlify-lambda > webpack > watchpack > watchpack-chokidar2 > chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
warning netlify-lambda > webpack > watchpack > watchpack-chokidar2 > chokidar > fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
warning netlify-lambda > webpack > micromatch > snapdragon > source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
warning netlify-lambda > webpack > micromatch > snapdragon > source-map-resolve > resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
warning netlify-lambda > webpack > micromatch > snapdragon > source-map-resolve > source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
warning netlify-lambda > webpack > micromatch > snapdragon > source-map-resolve > urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
warning node-sass > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning node-sass > node-gyp > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning node-sass > node-gyp > tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
warning node-sass > request > har-validator@5.1.5: this library is no longer supported
warning node-sass > request > uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 🔨  Building fresh packages...
[-/4] ⢀ waiting...
[-/4] ⢀ waiting...
[3/4] ⢀ fsevents
error /Users/mikeherchel/Sites/drupal-webring/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments:
Directory: /Users/mikeherchel/Sites/drupal-webring/node_modules/node-sass
Output:
Building: /usr/local/bin/node /Users/mikeherchel/Sites/drupal-webring/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 [
gyp verb cli   '/usr/local/bin/node',
gyp verb cli   '/Users/mikeherchel/Sites/drupal-webring/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 verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@18.16.0 | darwin | arm64
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 /Applications/MAMP/Library/bin/python2
gyp verb check python version `/Applications/MAMP/Library/bin/python2 -c "import sys; print "2.7.18
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: 18.16.0
gyp verb command install [ '18.16.0' ]
gyp verb install input version string "18.16.0"
gyp verb install installing version: 18.16.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: 18.16.0
gyp verb build dir attempting to create "build" dir: /Users/mikeherchel/Sites/drupal-webring/node_modules/node-sass/build
gyp verb build dir "build" dir needed to be created? /Users/mikeherchel/Sites/drupal-webring/node_modules/node-sass/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /Users/mikeherchel/Sites/drupal-webring/node_modules/node-sass/build/config.gypi
(node:8422) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node --trace-deprecation ...` to show where the warning was created)
gyp verb config.gypi checking for gypi file: /Users/mikeherchel/Sites/drupal-webring/node_modules/node-sass/config.gypi
gyp verb common.gypi checking for gypi file: /Users/mikeherchel/Sites/drupal-webring/node_modules/node-sass/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /Applications/MAMP/Library/bin/python2
gyp info spawn args [
gyp info spawn args   '/Users/mikeherchel/Sites/drupal-webring/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/mikeherchel/Sites/drupal-webring/node_modules/node-sass/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/mikeherchel/.node-gyp/18.16.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/mikeherchel/.node-gyp/18.16.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/mikeherchel/.node-gyp/18.16.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/mikeherchel/Sites/drupal-webring/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=.'
gyp info spawn args ]
Traceback (most recent call last):
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/gyp_main.py", line 16, in 
    sys.exit(gyp.script_main())
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 545, in script_main
    return main(sys.argv[1:])
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 538, in main
    return gyp_main(args)
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 514, in gyp_main
    options.duplicate_basename_check)
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 130, in Load
    params['parallel'], params['root_targets'])
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 2783, in Load
    variables, includes, depth, check, True)
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 399, in LoadTargetBuildFile
    includes, True, check)
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 271, in LoadOneBuildFile
    aux_data, includes, check)
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 308, in LoadBuildFileIncludesIntoDict
    LoadOneBuildFile(include, data, aux_data, None, False, check),
  File "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 251, in LoadOneBuildFile
    None)
  File "/Users/mikeherchel/.node-gyp/18.16.0/include/node/common.gypi", line 1
    e_data_file_flag%': 1
                        ^
SyntaxError: EOL while scanning string literal
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/lib/configure.js:345:16)
gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Darwin 22.4.0
gyp ERR! command "/usr/local/bin/node" "/Users/mikeherchel/Sites/drupal-webring/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/mikeherchel/Sites/drupal-webring/node_modules/node-sass
gyp ERR! node -v v18.16.0
gyp ERR! node-gyp -v v3.8.0

LibSass is deprecated (see https://sass-lang.com/blog/libsass-is-deprecated/).

Solution

Migrate to Dart Sass (PR Incoming)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant