Возможно ли проксировать один файл с помощью Nexus?
Я пытаюсь проксировать node -sass и другие npm-библиотеки через Nexus, но сталкиваются с проблемами, когда шаг пост-установки node -sass пытается вытащить файл https://github.com/sass/node-sass/releases/download/v3.10.1/linux-x64-48_binding.node из github. Я за корпоративным брандмауэром, поэтому мой единственный вариант - прокси-сервер Nexus для всех файлов, которые мне нужны.
Можно ли каким-то образом добавить этот отдельный файл в Nexus, чтобы он мог прокси-серверу и доставлять его всякий раз, когда запрос отправляется на https://github.com/sass/node-sass/releases/download/v3.10.1/linux-x64-48_binding.node?
Ответы
Ответ 1
После некоторого копания лучшее решение, о котором я могу думать, это сделать:
https://github.com/sass/node-sass/blob/9c6933f4eb5c9572e1cdc577d500469c14411908/lib/extensions.js#L121-L147
Вы можете использовать аргумент -sass-binary-site или переменную среды (или значение в вашем .npmrc, lol), чтобы переопределить, где она будет использоваться для этих пакетов, где вы могли бы потенциально клонировать репо внутренне, чтобы вы имейте всех: https://github.com/sass/node-sass-binaries
Дополнительная информация об этом доступна по этим двум вопросам:
Кроме того, есть много информации об этом, доступном здесь (внизу) от наших дружелюбных людей в Sonatype: https://support.sonatype.com/hc/en-us/articles/213465048-Why-does-npm-client-need-access-to-URLs-other-than-my-private-registry-
Ответ 2
Я использую размещенный в RAW репозиторий на Nexus и добавил эту строку в мой файл npmrc: sass-binary-site=https://url-to-private.nexus/repository/raw-repository-name/node-sass
Примечание: я загружаю в этот необработанный репозиторий, например, в папку /node-sass/v4.11.0/
Пока не нашел решения для прокси всего репозитория GitHub.