Больше невозможно установить пакеты npm из-за обновления macOS Big Sur

После обновления до macOS Big Sur я не могу npm install работать с npm старше 7 (так что npm v7 подойдет). Каждый раз, когда я получаю сообщение об ошибке Превышен максимальный размер стека вызовов после очистки папки проекта (без папки node_modules и файла package-lock.json).

Я привязан к использованию

ProductName:    macOS
ProductVersion: 11.0.1
BuildVersion:   20B50
Darwin: 20.1.0
nodejs v14.15.1
npm version 6.14.8

Я пытался:

npm cache clean --force

npm rebuild

Установите Node вручную, с помощью Homebrew, с помощью nvm, а также понизьте версию npm до различных более низких версий.

Переустановите Homebrew, чтобы получить свежий фон, который использовался до обновления до Big Sur.

Переустановите инструменты командной строки xcode.

Запустите узел и сопоставьте проект с контейнером докеров ubuntu: focal.

Пара последних строк вывода возвращает npm install --loglevel verbose:

npm http fetch GET 200 https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz 23ms (from cache)
npm http fetch GET 200 https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz 15ms (from cache)
npm http fetch GET 200 https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz 14ms (from cache)
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 51352ms
npm timing stage:loadIdealTree Completed in 51653ms
npm timing stage:generateActionsToTake Completed in 225ms
npm verb correctMkdir /Users/dominikjelinek/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/dominikjelinek/.npm/_locks/staging-a03ae73070af7d1f.lock for /Users/dominikjelinek/home/ccb-survey/survey/components/node_modules/.staging
npm timing audit submit Completed in 931ms
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 931ms
npm timing audit body Completed in 3ms
npm timing action:extract Completed in 7997ms
npm timing action:finalize Completed in 91317ms
npm verb unlock done using /Users/dominikjelinek/.npm/_locks/staging-a03ae73070af7d1f.lock for /Users/dominikjelinek/home/ccb-survey/survey/components/node_modules/.staging
npm timing stage:rollbackFailedOptional Completed in 2ms
npm timing stage:runTopLevelLifecycles Completed in 156352ms
npm WARN [email protected] requires a peer of plotly.js@>1.34.0 but none is installed. You must install peer dependencies yourself.

npm verb stack RangeError: Maximum call stack size exceeded
npm verb stack     at RegExp.test (<anonymous>)
npm verb stack     at isDepOptional (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:432:45)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:441:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb stack     at failedDependency (/Users/dominikjelinek/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/install/deps.js:457:9)
npm verb cwd /Users/dominikjelinek/home/ccb-survey/survey/components
npm verb Darwin 20.1.0
npm verb argv "/Users/dominikjelinek/.nvm/versions/node/v14.15.1/bin/node" "/Users/dominikjelinek/.nvm/versions/node/v14.15.1/bin/npm" "install" "--loglevel" "verbose"
npm verb node v14.15.1
npm verb npm  v6.14.8
npm ERR! Maximum call stack size exceeded

ОБНОВЛЕНИЕ 1

Apple выпустила новое обновление системы, что не помогло. Версия продукта: 11.1

Я не думаю, что это проблема с разрешениями, поскольку я установил проект 777 для всех chmod -R 777 project.

Насколько я знаю, мои товарищи отлично используют npm v6 на Big Sur.

В контейнере докера я скопировал проект из сопоставленной папки в другую папку в контейнере докера, и npm install работает должным образом.

То же самое происходит с Windows 10, работающей в VirtualBox, где npm не работает с общей папкой, но работает после копирования проекта в некоторую внутреннюю папку на машине VirtualBox Windows.

Возникла проблема с отслеживанием проблем npm cli.

Возникла проблема в отслеживании проблем с докером.

ОБНОВЛЕНИЕ 2

Я попытался создать нового пользователя на своем компьютере Mac, чтобы начать частично заново, я установил nvm, как описано здесь и запустил nvm install v14.15.4 с npm v6.14.10.

Все еще та же проблема.


person domino    schedule 14.12.2020    source источник
comment
В моей компании мы сталкиваемся с теми же проблемами. После того, как мы выяснили, что проблема каким-то образом связана с файловой системой, мы нашли этот ваш пост! Особенно проблема с докером, работающим внутри контейнера, но не с подключенным файловым томом с хоста Mac. Колледжи со старыми Mac не имеют проблем, но у трех есть проблемы (все только что установленные Mac). Тем не менее, у нас есть временное решение! npm 7, кажется, работает нормально. Также пряжа, кажется, работает в большинстве случаев.   -  person Flowkap    schedule 13.01.2021
comment
Я действительно проверял, влияет ли на это наш Антивирус (было просто ощущение), и, к сожалению, это было правдой. После отключения все заработало абсолютно нормально -.-. Все симптомы были такими же, как вы это описали. Есть ли шанс, что вы также используете агент Trend Micro Security Agent?   -  person Flowkap    schedule 13.01.2021
comment
Спасибо за эту информацию. Это действительно интересно. Мы решили перейти на npm v7 в команде, чтобы решить эту только мою проблему. Но мне интересно, получает ли кто-нибудь из вашей команды какой-либо системный вызов Interrupted в отношении операции git, а также это еще одна проблема, возникающая в моей системе без какого-либо очевидного шаблона, поэтому я не могу работать с репозиторием, git fsck возвращает много ошибок и git gc --aggressive --prune=now --force не помогает. Это также начнется после обновления Big Sure.   -  person domino    schedule 14.01.2021


Ответы (2)


Была такая же проблема. Решилось увеличением файла ulimit.

Чтобы проверить, что у вас есть прямо сейчас, сделайте:

ulimit -a

Это должно отображаться примерно так:

-t: cpu time (seconds)              unlimited
-f: file size (blocks)              12288
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         0
-v: address space (kbytes)          unlimited
-l: locked-in-memory size (kbytes)  unlimited
-u: processes                       2784
-n: file descriptors                12288

Затем, чтобы увеличить предельный размер файла, выполните следующее:

ulimit -f [НЕОБХОДИМЫЕ ПРЕДЕЛЫ РАЗМЕРА]

Для себя я решил установить его на unlimited, чтобы убедиться, что это больше не будет проблемой, поэтому:

ulimit -f без ограничений

person theJuls    schedule 21.12.2020
comment
Спасибо за ответ, но, к сожалению, это не мой случай. Размер моего файла уже установлен на неограниченный, поэтому я был достаточно храбрым, чтобы изменить дескрипторы файлов с 256 на неограниченный, но это не помогло. - person domino; 22.12.2020
comment
Хм ... Это прискорбно. Можете ли вы в качестве теста изменить их все на неограниченное количество? Просто любопытно на данный момент. - person theJuls; 22.12.2020
comment
Кроме того, не забудьте сделать это на той же вкладке Терминала, где вы используете свой npm install. (Я знаю, что это может показаться глупым, но я сам не осознавал этого, пока мне не пришлось делать это несколько раз - person theJuls; 22.12.2020
comment
Все еще та же проблема. Я также перезагружаю машину, чтобы убедиться. Но я не мог установить неограниченное количество всех параметров ... размер стека имеет буквальное ограничение, как и процессы. - person domino; 28.12.2020
comment
Дерьмо ... Это раздражает. Буду следить за лучшим решением и соответствующим образом обновлять свой пост, если что-нибудь попадется мне на глаза. - person theJuls; 30.12.2020

В моем случае спасибо @Flowkap, все вопросы:

  1. упомянул npm install
  2. двойная перезагрузка машины после сна более 24 часов
  3. ошибка при использовании SentryWebpackPlugin в процессе сборки
  4. повреждение локального репозитория git, который я тоже поднял

Все решено удалением Trend Micro Security

person domino    schedule 18.01.2021