ОШИБКА нпм! 403 403 Запрещена публикация нпм

#node.js #npm

#node.js #нпм

Вопрос:

Я пытаюсь опубликовать общедоступный пакет в нпм, но у меня эта ошибка

 npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/@clem_b/weather - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy, or
npm ERR! 403 on a server you do not have access to.
  

Итак, сначала посмотрите мой package.json ниже.

 {
  "name": "@clem_b/weather",
  "version": "1.0.6",
  "description": "weather cli",
  "main": "build/main.js",
  "types": "build/main.d.ts",
  "homepage": "https://github.com/ClementBolin/weatherCLI#readme",
  "repository": {
    "type": "git",
    "url": "git https://github.com/ClementBolin/weatherCLI.git"
  },
  "scripts": {
    "test": "echo "Error: no test specified" amp;amp; exit 1",
    "build": "rimraf ./build amp;amp; tsc",
    "start": "npm run build amp;amp; node build/mai.js"
  },
  "bin": {
    "app": "bin/weatherCLI"
  },
  "keywords": [
    "weather",
    "today",
    "rain",
    "sun"
  ],
  "author": "clem_b",
  "license": "MIT",
  "devDependencies": {
    "@types/minimist": "^1.2.0",
    "@types/node": "^14.14.6",
    "@types/oauth": "^0.9.1",
    "@types/ora": "^3.2.0",
    "rimraf": "^3.0.2",
    "tslint": "^6.1.3",
    "typescript": "^4.0.5"
  },
  "prepublish": "npm run build",
  "dependencies": {
    "minimist": "^1.2.5",
    "oauth": "^0.9.15",
    "ora": "^0.3.0"
  }
}
  

Итак, после завершения написания моего кода я решаю опубликовать свой код в нпм, поэтому я создаю учетную запись нпм, которую я использую npm login для подключения к своей учетной записи. После этого я запускаю следующую команду npm publish --access public , и у меня появляется ошибка записи в top.
Я ищу по многим темам, но не нахожу решения

Ответ №1:

просто столкнулся с этим сам. Я создал новую учетную запись НПМ, а затем сразу прошел аутентификацию через npm login .

Затем я запустил npm publish --access public и получил точно такое же сообщение об ошибке.

Я смог решить проблему, подтвердив свою учетную запись электронной почты для НПМ (doh).

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

1. Проверка электронной почты была для меня тоже.

2. То же самое здесь … небольшая подсказка в документах была бы отличной

Ответ №2:

Вероятно, в нпм уже есть пакет с тем же именем. Измените имя пакета в package.json и повторите попытку.

Ответ №3:

В моем случае проблема была решена после того, как я создал команду (в моей организации НПМ) и добавил себя в качестве члена этой команды.

смотрите: https://github.com/npm/cli/issues/1012#issuecomment-629546298

Ответ №4:

В профиле нпм, в разделе «УЧЕТНАЯ ЗАПИСЬ», вы должны активировать 2FA и после выбора «Включено для авторизации и публикации» внутри параметров 2FA.

Если вы уже сделали это, проверьте, имеет ли ваш проект то же имя, что и у другого зарегистрированного проекта. В этом случае, если имеет, просто измените имя.

Ответ №5:

проверьте, зарезервировано ли имя в нпм, в моем случае имя уже использовалось, также попробуйте

 sudo npm install -g https://tls-test.npmjs.com/tls-test-1.0.0.tgz
  

Ответ №6:

Итак, мой сценарий состоял в том, что я использовал jenkins для публикации npm, использовал npm publish, он выдавал ошибку, которую я не могу нажать после 1.0.0, поэтому после проверки я обнаружил, что в файле package.json в версии было указано «1.0.0», поэтому мне нужно было изменить номер сборки в соответствии с моей сборкой jenkins, которую я использовал.для этого использовался sed

Ответ №7:

Я обновил часть имени в package.json, и теперь она работает.