简体   繁体   English

npm install 在 Mac 上的 Node-gyp 构建错误

[英]Node-gyp build error on mac for npm install

I have an Angular app and I am trying to set up it in my local Mac machine.我有一个 Angular 应用程序,我正在尝试在我的本地 Mac 机器上设置它。 But when I use npm install to install the dependencies, I get the following error但是当我使用 npm install 安装依赖项时,出现以下错误

npm ERR! code 1
npm ERR! path /Users/tum/Desktop/nx-pricing-sample/node_modules/@parcel/watcher
npm ERR! command failed
npm ERR! command sh -c -- node-gyp-build
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@7.1.2
npm ERR! gyp info using node@16.19.0 | darwin | arm64
npm ERR! gyp info find Python using Python version 3.12.0 found at "/Library/Frameworks/Python.framework/Versions/3.12/bin/python3"
npm ERR! (node:2058) \[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 info spawn /Library/Frameworks/Python.framework/Versions/3.12/bin/python3
npm ERR! gyp info spawn args \[
npm ERR! gyp info spawn args   '/Users/tum/Desktop/nx-pricing-sample/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/tum/Desktop/nx-pricing-sample/node_modules/@parcel/watcher/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/tum/Library/Caches/node-gyp/16.19.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/tum/Library/Caches/node-gyp/16.19.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/tum/Library/Caches/node-gyp/16.19.0/\<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/Users/tum/Desktop/nx-pricing-sample/node_modules/@parcel/watcher',
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 "/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/gyp/gyp_main.py", line 51, in \<module\>
npm ERR!     sys.exit(gyp.script_main())
npm ERR!              ^^^^^^^^^^^^^^^^^
npm ERR!   File "/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 670, in script_main
npm ERR!     return main(sys.argv\[1:\])
npm ERR!            ^^^^^^^^^^^^^^^^^^
npm ERR!   File "/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 662, in main
npm ERR!     return gyp_main(args)
npm ERR!            ^^^^^^^^^^^^^^
npm ERR!   File "/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 629, in gyp_main
npm ERR!     \[generator, flat_list, targets, data\] = Load(
npm ERR!                                             ^^^^^
npm ERR!   File "/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 150, in Load
npm ERR!     result = gyp.input.Load(
npm ERR!              ^^^^^^^^^^^^^^^
npm ERR!   File "/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 3021, in Load
npm ERR!     LoadTargetBuildFile(
npm ERR!   File "/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 411, in LoadTargetBuildFile
npm ERR!     build_file_data = LoadOneBuildFile(
npm ERR!                       ^^^^^^^^^^^^^^^^^
npm ERR!   File "/Users/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 239, in LoadOneBuildFile
npm ERR!     build_file_contents = open(build_file_path, "rU").read()
npm ERR!                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
npm ERR! ValueError: invalid mode: 'rU' while trying to load binding.gyp
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/tum/Desktop/nx-pricing-sample/node_modules/node-gyp/lib/configure.js:351:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess.\_handle.onexit (node:internal/child_process:293:12)
npm ERR! gyp ERR! System Darwin 22.1.0
npm ERR! gyp ERR! command "/Users/tum/.nvm/versions/node/v16.19.0/bin/node" "/Users/tum/Desktop/nx-pricing-sample/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /Users/tum/Desktop/nx-pricing-sample/node_modules/@parcel/watcher
npm ERR! gyp ERR! node -v v16.19.0
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/tum/.npm/\_logs/2022-12-17T06_03_21_928Z-debug-0.log

The U mode has been deprecated for a while, and was finally removed in Python 3.11. U模式已被弃用一段时间,最终在 Python 3.11 中被删除。

Unfortuantely, gyp still uses this mode, and is thus incompatible with Python 3.10 (see, eg,https://github.com/nodejs/node-gyp/blob/main/README.md#on-macos ).不幸的是, gyp仍然使用这种模式,因此与 Python 3.10 不兼容(参见,例如,https ://github.com/nodejs/node-gyp/blob/main/README.md#on-macos)。 Downgrading to Python 3.10 should solve the issue.降级到 Python 3.10 应该可以解决问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM