Проблема с установкой npm, невозможно найти python2, node-sass и node-gyp

Я начинаю новый проект Elixir и пытаюсь установить npm в папку с ресурсами. Я постоянно сталкиваюсь с одной и той же ошибкой: сначала не найден python2, а затем проблема либо в node-sass, либо в node-gyp.

Сообщение об ошибке:

npm error     variables, includes, depth, check, True)
npm error   File "/Users/username/Desktop/ProjectFolder/elixir-projects/project_name/assets/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 399, in LoadTargetBuildFile
npm error     includes, True, check)
npm error   File "/Users/username/Desktop/ProjectFolder/elixir-projects/project_name/assets/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 271, in LoadOneBuildFile
npm error     aux_data, includes, check)
npm error   File "/Users/username/Desktop/ProjectFolder/elixir-projects/project_name/assets/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 308, in LoadBuildFileIncludesIntoDict
npm error     LoadOneBuildFile(include, data, aux_data, None, False, check),
npm error   File "/Users/username/Desktop/ProjectFolder/elixir-projects/project_name/assets/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 251, in LoadOneBuildFile
npm error     None)
npm error   File "/Users/username/.node-gyp/18.18.2/include/node/common.gypi", line 1
npm error     e_data_file_flag%': 1
npm error                         ^
npm error SyntaxError: EOL while scanning string literal
npm error gyp ERR! configure error 
npm error gyp ERR! stack Error: `gyp` failed with exit code: 1
npm error gyp ERR! stack     at ChildProcess.onCpExit (/Users/username/Desktop/ProjectFolder/elixir-projects/project_name/assets/node_modules/node-gyp/lib/configure.js:345:16)
npm error gyp ERR! stack     at ChildProcess.emit (node:events:517:28)
npm error gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:292:12)
npm error gyp ERR! System Darwin 23.4.0
npm error gyp ERR! command "/usr/local/bin/node" "/Users/username/Desktop/ProjectFolder/elixir-projects/project_name/assets/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext = " "--libsass_cflags = " "--libsass_ldflags = " "--libsass_library = "
npm error gyp ERR! cwd /Users/username/Desktop/ProjectFolder/elixir-projects/project_name/assets/node_modules/node-sass
npm error gyp ERR! node -v v18.18.2
npm error gyp ERR! node-gyp -v v3.8.0
npm error gyp ERR! not ok 
npm error Build failed with error code: 1
npm error A complete log of this run can be found in: /Users/username/.npm/_logs/2024-06-04T16_41_15_604Z-debug-0.log

ОБНОВЛЕНИЕ: ответ добавлен ниже

🤔 А знаете ли вы, что...
Node.js активно используется для создания серверных приложений на стороне бэкенда в стеке MEAN (MongoDB, Express.js, Angular, Node.js).


126
1

Ответ:

Решено

ИСПРАВЛЕНО ОБНОВЛЕНИЕМ ЭЛИКСИРА

Я использовал неправильную версию эликсира, но решение ниже все еще работает.

Существующие сообщения, которые я видел, и их ответы, похоже, ориентированы на пользователей Windows, поэтому я хотел опубликовать найденное мной решение, которое работает для пользователей MacOS. Надеюсь, это поможет другим.

Убедитесь, что python2 установлен в вашей системе. это может быть лишним, но вы можете найти установщик python2 здесь

export PYTHON=python2

node-sass устарел, несмотря на то, что он использовался в стандартной команде установки узла. Я обнаружил, что его удаление и простое использование sass помогают.

npm uninstall node-sass
npm install sass

если node_modules существует в папке

rm -rf node_modules
npm cache clean --force
npm install 

Это сработало для меня примерно через 2 часа попыток найти решение.