Почему «npm doctor» выдает ошибки разрешений?

#npm

#npm

Вопрос:

Когда я запускаю npm doctor , я получаю ошибки разрешений, которые я раньше не видел:

 Perms check on local bin folder     not ok  Check the permissions of files in /Users/Orome/node_modules/.bin
Perms check on global bin folder    not ok  Check the permissions of files in /usr/local/bin
  

Я не внес никаких изменений, о которых мне известно, которые могли бы вызвать это изменение.

Что является причиной этого и что я могу с этим поделать?


Полный вывод npm doctor :

 npm WARN checkFilesPermission error getting info for /Users/Orome/node_modules/.bin
npm ERR! checkFilesPermission Missing permissions on /usr/local/bin/.keepme (expect: executable)
Check                               Value   Recommendation/Notes
npm ping                            ok
npm -v                              ok      current: v7.0.10, latest: v6.14.8
node -v                             ok      current: v15.2.0, recommended: v15.2.0
npm config get registry             ok      using default registry (https://registry.npmjs.org/)
which git                           ok      /usr/local/bin/git
Perms check on cached files         ok
Perms check on local node_modules   ok
Perms check on global node_modules  ok
Perms check on local bin folder     not ok  Check the permissions of files in /Users/Orome/node_modules/.bin
Perms check on global bin folder    not ok  Check the permissions of files in /usr/local/bin
Verify cache contents               ok      verified 9656 tarballs

npm ERR! Some problems found. See above for recommendations.
  

Конфигурация:

 macOS: 10.15.7-x86_64
CPU: quad-core 64-bit haswell
HOMEBREW_VERSION: 2.5.9-52-g8cffae8
HOMEBREW_PREFIX: /usr/local
Clang: 12.0 build 1200
Java: 1.8.0_172
CLT: 12.1.0.0.1.1602137645
Xcode: 12.1
  

Ответ №1:

Проверка Perms в глобальной папке bin: у npm doctor отсутствует исполняемый файл в файле / usr/local/bin/.keepme

Это решает проблему в моем случае:

 chmod  x /usr/local/bin/.keepme
  

Проверка Perms в локальной папке bin:
папка node_modules /.bin отсутствует в месте выполнения команды, вы можете создать ее вручную или командой:

 mkdir node_modules amp;amp; cd node_modules amp;amp; mkdir .bin
  

Комментарии:

1. я получил эту ошибку, пожалуйста, помогите chmod: /usr/ local/bin/.keepme: нет такого файла или каталога , я использую m1 macos

2. chmod x /usr/ local/bin/.keepme сработал для меня — спасибо!

Ответ №2:

Похоже, что Homebrew и node могут не синхронизироваться и в результате выдавать эту ошибку. В любом случае просто

 npm install -g npm
  

может позаботиться об этом.

Если это не удается, подтвердите, что это пусто, и попробуйте .keepme

 rm -rf /usr/local/bin/.keepme
  

Комментарии:

1. По какой-то причине это мне не помогает. Я получаю следующий вывод: ` на сегодняшний день проверено 255 пакетов в 1s 11 пакетов ищут финансирование npm fund , для получения подробной информации найдено 0 уязвимостей «

2. npm 7.6.0, macOS 11.2.2 — это НЕ решает эту проблему для меня. Не могу понять, что является причиной этого.

3. @luckman212 Это тоже больше не работает для меня

Ответ №3:

В моем случае после обновления npm я обнаружил, что .bin каталог не существует. Вам просто нужно создать: mkdir /Users/<username>/node_modules/.bin

Комментарии:

1. создание этой папки .bin решает половину проблем на моем компьютере: «ОШИБКА npm! checkFilesPermission Отсутствуют разрешения для / usr/ local/ bin /.keepme (ожидать: исполняемый файл)» ошибка все еще существует, я думаю, мне нужно также создать этот файл, если он не существует