Недавно понизил рейтинг моего узла для технической оценки до версии 12, теперь хотел обновить, но, похоже, что-то не так. Я пробовал кучу вещей, которые все предлагают.
Не очень опытный пользователь Mac, поэтому любая помощь приветствуется
MacBook-Pro ~ % npm install -g n
ERROR: npm v9.1.2 is known not to run on Node.js v12.22.12. You'll need to
upgrade to a newer Node.js version in order to use this version of npm. This
version of npm supports the following node versions: `^14.17.0 || ^16.13.0 ||
>=18.0.0`. You can find the latest version at https://nodejs.org/.
ERROR:
/usr/local/lib/node_modules/npm/lib/utils/exit-handler.js:22
const hasLoadedNpm = npm?.config.loaded
^
SyntaxError: Unexpected token '.'
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at module.exports (/usr/local/lib/node_modules/npm/lib/cli.js:76:23)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:2:25)
at Module._compile (internal/modules/cjs/loader.js:999:30)
-MacBook-Pro ~ % node -v
v12.22.12
Пробовал npm install -g n
Попробуйте использовать установщик OSX на nodejs.org/. Он обновит вашу локальную установку node, а также совместимую версию npm (v8.19.2 на момент написания). Тогда ошибка должна исчезнуть при наборе node -v
.
ERROR:
/usr/local/lib/node_modules/npm/lib/utils/exit-handler.js:22
const hasLoadedNpm = npm?.config.loaded
^
SyntaxError: Unexpected token '.'
Чтобы решить эти проблемы, вам необходимо удалить node и npm из вашей системы и переустановить их оба. то вы можете решить эти проблемы.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
У меня были похожие проблемы, потому что я работал над более старым проектом с использованием более старой версии npm и node.
Для меня мне просто нужно было сослаться на более старую версию из node из той, которую я сейчас использую (nvm install 10
), и я снова смог правильно использовать npm. Оттуда я сделал npm cache clean --force
, чтобы очистить кеш, и смог переустановить нужную мне версию узла, которая была похожа на (npm install [email protected] -g
).
У меня аналогичная проблема. Для более старого проекта мне нужно использовать только узел 12, но теперь я больше не могу использовать npm ПОСЛЕ того, как я каким-то образом обновил свой npm до более высокой версии.
ERROR:
/usr/local/lib/node_modules/npm/lib/utils/exit-handler.js:22
const hasLoadedNpm = npm?.config.loaded
^
SyntaxError: Unexpected token '.'
Чтобы проверить список установленных версий узла, выполните приведенную ниже команду
nvm ls
Затем используйте следующую команду, чтобы использовать указанную версию узлаnvm use 12.14.1
Затем выполните следующую команду, чтобы убедиться, что вы используете правильную версиюnvm -v