Open NoaBentu opened 2 weeks ago
npm -v
node -v
node -p process.versions
{ node: '18.17.1', acorn: '8.8.2', ada: '2.5.0', ares: '1.19.1', brotli: '1.0.9', cldr: '43.0', icu: '73.1', llhttp: '6.0.11', modules: '108', napi: '9', nghttp2: '1.52.0', nghttp3: '0.7.0', ngtcp2: '0.8.1', openssl: '3.0.10+quic', simdutf: '3.2.12', tz: '2023c', undici: '5.22.1', unicode: '15.0', uv: '1.44.2', uvwasi: '0.0.18', v8: '10.2.154.26-node.26', zlib: '1.2.13.1-motley' }
node -p process.platform
node -p process.arch
node -p "require('node-sass').info"
npm install
npm ls node-sass
/private/tmp/test └── (empty)
Hi,
Installing the latest version of node-sass from NPM using these commands:
node-sass
mkdir /tmp/test cd /tmp/test npm install node-sass@latest
fails with the following error:
npm ERR! Building: /Users/noa/.nvm/versions/node/v18.17.1/bin/node /private/tmp/test/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 '/Users/noa/.nvm/versions/node/v18.17.1/bin/node', npm ERR! gyp verb cli '/private/tmp/test/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@8.4.1 npm ERR! gyp info using node@18.17.1 | darwin | arm64 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 find Python Python is not set from command line or npm configuration npm ERR! gyp verb find Python Python is not set from environment variable PYTHON npm ERR! gyp verb find Python checking if "python3" can be used npm ERR! gyp verb find Python - executing "python3" to get executable path npm ERR! gyp verb find Python - executable path is "/opt/homebrew/opt/python@3.12/bin/python3.12" npm ERR! gyp verb find Python - executing "/opt/homebrew/opt/python@3.12/bin/python3.12" to get version npm ERR! gyp verb find Python - version is "3.12.3" npm ERR! gyp info find Python using Python version 3.12.3 found at "/opt/homebrew/opt/python@3.12/bin/python3.12" npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 18.17.1 npm ERR! gyp verb command install [ '18.17.1' ] npm ERR! gyp verb install input version string "18.17.1" npm ERR! gyp verb install installing version: 18.17.1 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: 18.17.1 npm ERR! gyp verb build dir attempting to create "build" dir: /private/tmp/test/node_modules/node-sass/build npm ERR! gyp verb build dir "build" dir needed to be created? Yes npm ERR! gyp verb build/config.gypi creating config file npm ERR! gyp verb build/config.gypi writing out config file: /private/tmp/test/node_modules/node-sass/build/config.gypi npm ERR! gyp verb config.gypi checking for gypi file: /private/tmp/test/node_modules/node-sass/config.gypi npm ERR! gyp verb common.gypi checking for gypi file: /private/tmp/test/node_modules/node-sass/common.gypi npm ERR! gyp verb gyp gyp format was not specified; forcing "make" npm ERR! gyp info spawn /opt/homebrew/opt/python@3.12/bin/python3.12 npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args '/private/tmp/test/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 '/private/tmp/test/node_modules/node-sass/build/config.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/private/tmp/test/node_modules/node-gyp/addon.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/Users/noa/Library/Caches/node-gyp/18.17.1/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/noa/Library/Caches/node-gyp/18.17.1', npm ERR! gyp info spawn args '-Dnode_gyp_dir=/private/tmp/test/node_modules/node-gyp', npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/noa/Library/Caches/node-gyp/18.17.1/<(target_arch)/node.lib', npm ERR! gyp info spawn args '-Dmodule_root_dir=/private/tmp/test/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! Traceback (most recent call last): npm ERR! File "/private/tmp/test/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> npm ERR! import gyp # noqa: E402 npm ERR! ^^^^^^^^^^ npm ERR! File "/private/tmp/test/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> npm ERR! import gyp.input npm ERR! File "/private/tmp/test/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> npm ERR! from distutils.version import StrictVersion npm ERR! ModuleNotFoundError: No module named 'distutils' 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 (/private/tmp/test/node_modules/node-gyp/lib/configure.js:259:16) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:514:28) npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12) npm ERR! gyp ERR! System Darwin 23.4.0 npm ERR! gyp ERR! command "/Users/noa/.nvm/versions/node/v18.17.1/bin/node" "/private/tmp/test/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" npm ERR! gyp ERR! cwd /private/tmp/test/node_modules/node-sass npm ERR! gyp ERR! node -v v18.17.1 npm ERR! gyp ERR! node-gyp -v v8.4.1 npm ERR! gyp ERR! not ok npm ERR! Build failed with error code: 1
This is caused by Python 3.12 removing distutils. Note that this was fixed in node-gyp in 10.0.0 (https://github.com/nodejs/node-gyp/commit/707927cd579205ef2b4b17e61c1cce24c056b452), but node-sass version 9.0.0 still depends on ^8.4.1.
10.0.0
9.0.0
^8.4.1
Currently, the master branch contains the fixed version of node-gyp, but it's not published on NPM. Would it be possible to publish it please?
Have a great day, Noa
npm -v
): 9.6.7node -v
): v18.17.1node -p process.versions
):node -p process.platform
): darwinnode -p process.arch
): arm64node -p "require('node-sass').info"
): N/A,npm install
failsnpm ls node-sass
):Hi,
Installing the latest version of
node-sass
from NPM using these commands:fails with the following error:
This is caused by Python 3.12 removing distutils. Note that this was fixed in node-gyp in
10.0.0
(https://github.com/nodejs/node-gyp/commit/707927cd579205ef2b4b17e61c1cce24c056b452), but node-sass version9.0.0
still depends on^8.4.1
.Currently, the master branch contains the fixed version of node-gyp, but it's not published on NPM. Would it be possible to publish it please?
Have a great day, Noa