Настройка Nexus npm: исключение нулевого указателя при загрузке файла tar на панель инструментов - PullRequest
0 голосов
/ 04 июля 2018

При попытке загрузить простой js-пакет я получаю следующую трассировку стека ошибок при просмотре регистратора на панели управления nexus:

2018-06-13 16:31:16,284-0400 ERROR [qtp139199987-18792] admin org.sonatype.nexus.extdirect.internal.ExtDirectServlet - Failed to invoke action method: coreui_Upload.doUpload, java-method: org.sonatype.nexus.coreui.UploadComponentComponent.doUpload
java.lang.NullPointerException: null
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
at com.sonatype.nexus.repository.npm.internal.NpmPackageId.parse(NpmPackageId.java:129)
at com.sonatype.nexus.repository.npm.internal.NpmMetadataUtils.createRepositoryPath(NpmMetadataUtils.java:195)
at com.sonatype.nexus.repository.npm.NpmUploadHandler.lambda$0(NpmUploadHandler.java:84)
at org.sonatype.nexus.transaction.OperationPoint.proceed(OperationPoint.java:64)
at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56)
at org.sonatype.nexus.transaction.Operations.transactional(Operations.java:200).....

1 Ответ

0 голосов
/ 12 июля 2018

шагов при настройке Nexus с npm:

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

  1. Скачать Nexus OSS здесь
  2. Извлеките файл tar и запустите cd / NEXUS_FOLDER / nexus ./bin/nexus start
  3. Открыть тип браузера http://localhost:8081/. Вход (имя пользователя по умолчанию = admin / password = admin123)
  4. Нажмите Настройки -> Репозитории -> Создать репозиторий

* Как работают репозитории: * Существует три типа репозиториев:

  • Хостинговые репозитории: Репозитории, размещенные в Nexus. (ваши внутренние библиотеки).

    1. Создать репозиторий -> Выбрать npm (размещено) -> Введите имя -> Разрешить повторное развертывание -> Создать репозиторий
  • Хранилища прокси: в npm вы не можете загружать пакеты с разных серверов хранилища. Итак, для загрузки общедоступных пакетов npm вам потребуется создать прокси-сервер.

    1. Создать репозиторий -> Выбрать npm (прокси) -> Введите имя -> Удаленное хранилище -> Введите http://registry.npmjs.org -> Сохранить
  • Групповые репозитории: групповые репозитории позволяют объединять несколько репозиториев и другие группы репозиториев одного и того же формата репозитория в одну группу репозиториев. Эту отдельную группу и связанный URL-адрес можно затем использовать в качестве единой точки доступа ко всем компонентам в определенном формате, полученном из ряда репозиториев.

    1. Создать репозиторий -> Выбрать npm (группу) -> Репозитории участников -> Добавить два ранее созданных репозитория -> Сохранить

    2. Настройки -> В левом меню -> Области -> Добавить npm Bearer Token Realm в активное состояние

Отправка пакета в хранилище

  1. Теперь перейдите в корень папки проекта, введите npm init -> создать пакет json -> введите имя / значение версии

  2. На терминале в корне типа папки проекта: npm set registry http://localhost:8081/repository/[your-hosted-repo-name]/

  3. npm adduser --registry = http://localhost:8081/repository/[your-hosted-repo-name]. Введите имя пользователя / пароль / адрес электронной почты (по умолчанию: admin / admin123 / [ваш адрес электронной почты]) *
  4. npm publish --registry http://localhost:8081/repository/[your-hosted-repo-name].
  5. Теперь вы можете видеть ваш пакет в репозиториях на панели инструментов Nexus.

Вытащить посылку

  1. Создать .npmrc в корне папки проекта со значениями:

registry = http://ec2 -34-229-205-247.compute-1.amazonaws.com: 8082 / repository / [your-nexus-group-repo-name] /

электронная почта = ваша электронная почта

_auth = YWRtaW46YWRtaW4xMjM = (генерировать с помощью: $ echo -n 'admin: admin123' | openssl base64)

  1. В package.json

    "зависимости": { "your-project-name": "1.0.0" }

  2. npm install

  3. Теперь вы можете увидеть ваш пакет в node_modules /
...