2016-07-04 2 views
2

Наша компания создала частный реестр npm для наших пакетов. Мы пытаемся настроить приложение углового2, и все угловые пакеты, которые включены (с страницы с угловым2), ограничены. Вопрос в том, в то время как НПЙ установлен в наш частный реестр, npm install дает нам сообщение об ошибке:npm пакеты и частный реестр

npm ERR! Linux 4.4.8-boot2docker 
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" 
npm ERR! node v4.3.0 
npm ERR! npm v2.14.12 
npm ERR! code E404 

npm ERR! 404 no such package available : @angular/core 
npm ERR! 404 
npm ERR! 404 '@angular/core' is not in the npm registry. 
npm ERR! 404 You should bug the author to publish it (or use the name yourself!) 
npm ERR! 404 It was specified as a dependency of 'search-ui' 
npm ERR! 404 
npm ERR! 404 Note that you can also install from a 
npm ERR! 404 tarball, folder, http url, or git url. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /tmp/npm-debug.log 

Если установить его в реестр НОГО по умолчанию, angular2 тянет хорошо, но, очевидно, происходит сбой при попытке загрузить частный пакет ,

Я не определил, является ли это общей угловой2 (некоторые разрешения в диспетчере пакетов) или только во всех облачных пакетах (не знаю, какие существуют другие облачные пакеты). Тем не менее, я попробовал всевозможные вещи, чтобы получить полный набор пакетов для установки безрезультатно (например, использование git repo вместо версии пакета, которая работает только в определенных случаях, что неприемлемо). И эта ошибка возникает, когда я пытаюсь развернуть ее в контейнер Docker или запускать локально (в основном это касается контейнера).

Неужели кто-нибудь еще сталкивается с этой проблемой? Кроме того, я приношу свои извинения, если это немного расплывчато, поэтому не стесняйтесь оставлять комментарии, если требуется дополнительная информация.

ответ

2

Как указано в NPM in the documentation, все частные пакеты имеют область действия, а области могут быть связаны с настраиваемыми реестрами.

Так что, если ваш частный пакет @myPrivateScope/aPrivatePackage, ваша проблема может быть решена путем добавления следующей строки в файл .npmrc на корень вашего проекта:

@myPrivateScope:registry=http://my.private.registry.com 

Если URL после равенства sign - это адрес вашего частного реестра.

Вы можете найти другие способы, чтобы сделать эту ассоциацию и более подробную информацию об этом на https://docs.npmjs.com/misc/scope#associating-a-scope-with-a-registry

+0

Спасибо очень много! Это сделал трюк. Я не мог обернуться вокруг этого, но я сделал больше копания и узнал об этом в конце концов, и эти источники очистили мою путаницу (а также этот более сжатый ответ). – Perley

Смежные вопросы