Продолжайте получать странные ошибки узла при использовании node_install

#node.js #macos #npm #npm-install

Вопрос:

Я пытаюсь npm установить свой бессерверный проект, но я продолжаю получать странную ошибку сборки, независимо от того, что я пытаюсь. Он останавливается на этом узле-gyp, и я попытался установить его, и все прошло нормально, но он по-прежнему вызывает эту проблему.

Я нахожусь на Mac OSX Big Sur. Я установил узел с помощью brew: brew install node

пакет.json:

 {
  "name": "jobpostsapi",
  "version": "1.0.0",
  "description": "",
  "main": "handler.js",
  "scripts": {
    "test": "echo "Error: no test specified" amp;amp; exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "fs": "^0.0.1-security",
    "fs.realpath": "^1.0.0",
    "glob": "^7.1.7",
    "serverless-dotenv-plugin": "^3.6.0",
    "serverless-offline": "^6.8.0",
    "stripe": "^8.137.0"
  },
  "devDependencies": {
    "p-limit": "^2.3.0",
    "serverless-bundle": "^1.4.0",
    "serverless-domain-manager": "^5.1.0"
  }
}
 

ошибка установки npm:

 npm ERR! code 1
npm ERR! path /Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c node scripts/build.js
npm ERR! Building: /usr/local/Cellar/node/16.2.0/bin/node /Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/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/Cellar/node/16.2.0/bin/node',
npm ERR! gyp verb cli   '/Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/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.8.0
npm ERR! gyp info using node@16.2.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 sys; print "2.7.16
npm ERR! gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 16.2.0
npm ERR! gyp verb command install [ '16.2.0' ]
npm ERR! gyp verb install input version string "16.2.0"
npm ERR! gyp verb install installing version: 16.2.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.2.0
npm ERR! gyp verb build dir attempting to create "build" dir: /Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-sass/build
npm ERR! gyp verb build dir "build" dir needed to be created? /Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/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/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-sass/build/config.gypi
npm ERR! (node:3916) [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/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-sass/config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: /Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/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/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/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/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-sass/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/spacemonky/.node-gyp/16.2.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/spacemonky/.node-gyp/16.2.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/spacemonky/.node-gyp/16.2.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/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/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-gyp/lib/configure.js:345:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:365:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 20.5.0
npm ERR! gyp ERR! command "/usr/local/Cellar/node/16.2.0/bin/node" "/Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /Users/spacemonky/Code/firstcivdivcareers/serverless/JobPostsAPI/node_modules/node-sass
npm ERR! gyp ERR! node -v v16.2.0
npm ERR! gyp ERR! node-gyp -v v3.8.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/spacemonky/.npm/_logs/2021-06-03T04_01_41_743Z-debug.log
 

Ответ №1:

TL;DR: Попробуйте запустить xcode-select --install , но если это не решит проблему, читайте дальше.

node-gyp используется при создании собственного аддона. Поэтому , если вы устанавливаете что-то запущенное node-gyp , оно пытается что-то скомпилировать.

Сообщение об ошибке указывает на то, что у вас не установлен Xcode. Однако, возможно, вам не потребуется устанавливать Xcode. Тебе, моя, просто нужно бежать xcode-select . Видишь https://github.com/nodejs/node-gyp/blob/master/macOS_Catalina.md. Этот документ предназначен для Каталины, но описанное сообщение об ошибке точно соответствует: gyp: No Xcode or CLT version detected! . И более свежих инструкций для Биг Сура нет, так что, кажется, стоит попробовать.

Если xcode-select --install это не решает проблему, см. Документ, связанный в предыдущем абзаце. Есть, по крайней мере, еще две вещи, которые нужно попробовать.