npm publish дает "пакеты с незаданной областью не могут быть приватными" - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу опубликовать обычный общедоступный пакет для npm.Когда я делаю npm publish, я получаю:

npm ERR! publish Failed PUT 400
npm ERR! code E400
npm ERR! unscoped packages cannot be private : my-package

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Со всеми кредитами на @ mb21 и его решением есть небольшое дополнение к его ответу.

Предлагаемый

npm publish --access public

отлично работает.Однако не всегда возможно заставить его работать в среде CI, например, когда вы используете semantic-release .Правильное решение там будет использовать тот же параметр access, но внутри вашего package.json s publishConfig (кстати, это также облегчает публикацию вручную в будущем):

{
  "name": "...",
  ...
  "publishConfig": {
    "access": "public"
  }
}

А теперьВы можете использовать его в инструментах CI или просто

npm publish

Мне потребовалось некоторое время, чтобы понять это, поэтому я надеюсь, что это сэкономит время для будущих читателей.

0 голосов
/ 22 ноября 2018

Похоже, что (по состоянию на ноябрь 2018 г.) вам нужно сделать:

npm publish --access public

Это говорит реестру npm, что вы хотите, чтобы ваш пакет был доступен для загрузки всеми.Раньше это было по умолчанию, и из документации все еще должно быть, так что, вероятно, это просто ошибка в npm.Есть еще немного не очень хорошо написанной документации о пакетах с областью действия / без области и общедоступных / частных .

Вместо использования --access, вы также можете добавитьустановив на package.json, как видно из ответа @ smnbbrv ниже.Но если я прав и это просто ошибка, вы можете использовать --access как временное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...