npm скачать дополнительный файл из неуказанного реестра - PullRequest
2 голосов
/ 18 апреля 2020

У меня проблема с пропускной способностью сети. Поэтому я настраиваю реестр прокси в моей локальной сети на localhost: 8081, используя nexus. Когда я делаю npm config get, я вижу, что мой реестр правильно настроен. Тем не менее, я делаю:

npm install karma-phantomjs2-launcher@0.1.1

Я вижу:

> phantomjs2@2.2.0 install /home/liwuwen/temp/rtst/node_modules/phantomjs2
> node install.js                                                                                                            

invalid config loglevel="notice"
PhantomJS not found on PATH                                                                                                  
Downloading https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2                                                                
Receiving...                                        
  [----------------------------------------] 1% 0.0s                                       

И это постоянно терпит неудачу из-за медленного сетевого подключения. Установка может go завершиться, если я продолжу пытаться. Но я не могу ответить на этот подход для моей разработки. Любое предложение о том, как получить npm всегда использовать мой локальный реестр для установки пакета?

1 Ответ

0 голосов
/ 18 апреля 2020

В случае phantomjs2 сам пакет npm успешно загружен, но пакет содержит скрипт установки, который вызывается с помощью команды node install.js. Эта установка пытается загрузить двоичный файл из bitbucket, и это не удается. Этот шаг происходит не через локальный реестр npm, но будет пытаться загрузить двоичный файл напрямую.

Что вы можете сделать с этим, так это каким-то образом получить двоичный файл. (Возможно, загрузка с помощью браузера.) В приведенном выше примере двоичный файл phantomjs-2.1.1-linux-x86_64.tar.bz2. Поскольку он уже загружен на локальный компьютер, его местоположение должно быть указано в переменных среды с использованием phantomjs в качестве ключа переменной среды. Подробную информацию об этом можно найти здесь в разделе Downloading from a custom URL.

Обратите внимание, что могут быть и другие пакеты, которые будут пытаться загрузить двоичный контент. Примерами этого являются node-sass и chrome-driver. Они оба имеют похожий трюк с переменной среды, как описано выше с phantomjs.

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