Чтобы работать не с глобальным репозиторием npm, а с локальным, например репозиторием вашей организации вам нужно указать npm адрес своего репозитория командой:
1 |
npm set registry http://myrepositiryurl |
Здесь вместо http://myrepositoryurl нужно указать адрес репозитория вашей организации. Команда создаст файл «.npmrc» в домашнем каталоге пользователя и запишет туда строчку вида:
1 |
registry=http://myrepositiryurl |
В дальнейшем все команды npm будут работать с указанным репозиторием.
Также вы можете создать вручную файл «.npmrc» в каталоге вашего проекта (там же, где и файл «package.json») и прописать туда эту строчку. Можно даже прописать туда адрес репозитория, отличный от адреса в файле вашего домашнего каталога, что позволит работать с другим репозиторием для конкретно этого проекта.
Получить адрес, используемый npm можно командой:
1 |
npm get registry |
Если выполнить эту команду из каталога, у которого есть свой файл «.npmrc», то адрес будет взят оттуда. Если же в этом каталоге не будет файла «.npmrc», или в этом файле не будет прописан адрес репозитория, то он вернёт адрес и «.npmrc» вашего домашнего каталога пользователя.
Имейте в виду, что npm set registry пишет в файл в домашнем каталоге пользователя, а npm get registry использует ещё и файл в текущем каталоге! Поэтому при наличии «.npmrc» с прописанным registry в текущем каталоге может возникнуть странная ситуация, когда npm get registry после только что выполненной команды npm set registry возвращает совсем другой адрес, а не тот, который вы установили.
Точно также команда npm install и другие используют кроме файла «.npmrc» в домашнем каталоге пользователя ещё и файл «.npmrc» в текущем каталоге. Чтобы для npm install указать другой репозиторий нужно использовать флаг --registry:
1 |
npm install --registry http://myurl1 |