#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
это не решает проблему, см. Документ, связанный в предыдущем абзаце. Есть, по крайней мере, еще две вещи, которые нужно попробовать.