Я пытаюсь npm install
пакеты формы form-js bpmn.io, и в документации указано, что требования — это node 16 и npm 8. Поэтому я использовал nvm, чтобы изменить версию моего узла и npm на необходимые. Сейчас я использую node -v
и npm -v
и их результаты:
v16.20.2
8.19.4
Но после запуска npm install
кажется, что мой узел все еще равен 12:
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>=16 || 14 >=14.17' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.19.4' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>= 16' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.19.4' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>=14' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.19.4' }
npm WARN EBADENGINE }
Я попробовал очистить кеш после переключения версии:
npm cache clean --force
rm -rf node_modules
rm package-lock.json
Я также попытался убедиться, что переменная среды PATH правильно установлена для использования версии Node, установленной nvm:
export NVM_DIR = "$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" bash_completion
Но все равно даже после перезагрузки такое ощущение, что что-то не так. Вот остальные ошибки на случай, если кто-то поймет, что не так:
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>=14' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.19.4' }
npm WARN EBADENGINE }
npm WARN deprecated [email protected]: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated [email protected]: This package is no longer supported. Please use @npmcli/package-json instead.
npm WARN deprecated [email protected]: This package is no longer supported. Please use @npmcli/package-json instead.
npm WARN deprecated [email protected]: This package is no longer supported.
npm WARN deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated [email protected]: This package is no longer supported.
npm WARN deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm WARN deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm WARN deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm WARN deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm WARN deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm WARN deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm WARN deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm WARN deprecated [email protected]: This package is no longer supported.
npm ERR! code 1
npm ERR! path /home/okaeiz/Camunda/form-js/node_modules/nx
npm ERR! command failed
npm ERR! command sh -c -- node ./bin/post-install
npm ERR! /home/okaeiz/Camunda/form-js/node_modules/nx/src/project-graph/project-graph.js:119
npm ERR! ...(projectConfigurationsError?.errors ?? []),
npm ERR! ^
npm ERR!
npm ERR! SyntaxError: Unexpected token '.'
npm ERR! at wrapSafe (internal/modules/cjs/loader.js:915:16)
npm ERR! at Module._compile (internal/modules/cjs/loader.js:963:27)
npm ERR! at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
npm ERR! at Module.load (internal/modules/cjs/loader.js:863:32)
npm ERR! at Function.Module._load (internal/modules/cjs/loader.js:708:14)
npm ERR! at Module.require (internal/modules/cjs/loader.js:887:19)
npm ERR! at require (internal/modules/cjs/helpers.js:74:18)
npm ERR! at Object.<anonymous> (/home/okaeiz/Camunda/form-js/node_modules/nx/bin/post-install.js:3:25)
npm ERR! at Module._compile (internal/modules/cjs/loader.js:999:30)
npm ERR! at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2024-06-06T08_08_02_495Z-debug-0.log
@OluwafemiSule Результатом npm config get prefix
является /home/okaeiz/.nvm/versions/node/v16.20.2
. И вывод which npm
равен /home/okaeiz/.nvm/versions/node/v16.20.2/bin/npm
, что кажется нормальным. Но установка продолжает давать сбой.
Что дает nvm current
?
@OluwafemiSule Команда nvm current
дает v16.20.2
Я только что проверил эту проблему на другой машине. Он по-прежнему предполагает, что я использую узел v12!
После бесчисленных часов попыток вытащить волосы я обнаружил, что это проблема с соединением. Я попробовал запустить npm install
при подключении к прокси, и пакеты были успешно установлены.
Что касается предупреждений об устаревании и несовместимости Node и npm, я понял, что это несущественные ошибки, и их можно смело игнорировать.
Я думаю, что узел NVM не использовался. Вы что-то пропустили в настройке NVM? Каков результат запуска
npm config get prefix
в вашем терминале? И что возвращает бегwhich npm
.