#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, и теперь она работает.