it-swarm.com.ru

npm не читает файл .npmrc

Я пытаюсь установить библиотеку из частного репозитория, и я получаю сообщение об ошибке при попытке использовать npm.

Я использую: OSX Mavericks 10.9.3 Node v0.10.28 Npm 1.4.10 (это было установлено после попытки с 1.4.13, и все еще не работает)

Я запускаю это из моего домашнего каталога, и файл ~/.npmrc находится в каталоге. 

всякий раз, когда я запускаю команду: npm install 'library name here'

Я получаю следующую ошибку:

npm http GET https://registry.npmjs.org/dslib-js
npm http 404 https://registry.npmjs.org/dslib-js
npm ERR! 404 404 Not Found: dslib-js
npm ERR! 404 
npm ERR! 404 'dslib-js' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 
npm ERR! 404 Maybe try 'npm search dslib'
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.

npm ERR! System Darwin 13.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "dslib-js"
npm ERR! cwd /Users/marcos.pedreiro
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.10
npm ERR! code E404
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/marcos.pedreiro/npm-debug.log
npm ERR! not ok code 0

Редактирование:

Когда я запускаю ls -a (в домашнем каталоге), это вывод:

.           .ssh            Music
..          .Subversion     Pictures
.CFUserTextEncoding .vagrant.d      Public
.DS_Store       Applications        VirtualBox VMs
.Trash          Desktop         clients
.bash_history       Documents       dev
.gradle         Downloads       npm-debug.log
.matlab         Google Drive        ~:.npmrc
.npm            Library         ~:.npmrc.template
.npmrc.bak      Movies

Это вывод команды npm config ls -l | grep config 

; cli configs
globalconfig = "/usr/local/etc/npmrc"
userconfig = "/Users/marcos.pedreiro/.npmrc"

: Конец редактирования

Любая помощь будет принята с благодарностью. Спасибо!

10
Maverick

Если то, что вы опубликовали, действительно является выводом ls -a, тогда имя файла неверно.

~:.npmrc должен быть назван .npmrc.

~ В начале предполагает, что вы использовали ярлык оболочки для размещения файла в вашем домашнем каталоге (возможно, что-то вроде cp .npmrc ~:.npmrc. Проблема, скорее всего, в двоеточии. ~/ будет интерпретироваться как «мой домашний каталог», но ~something/ будет интерпретироваться как домашний каталог пользователя с именем something. Поскольку пользователя something нет, система, вероятно, просто трактуется ~: как буквальный текст.

Попробуйте переименовать файл и посмотрите, работает ли он:

mv "~:.npmrc" .npmrc
6
Brandon

В случае, если это поможет кому-либо приземлиться здесь: у меня был файл npm-shrinkwrap.json в корне проекта, который переопределял конфигурацию registry из .npmrc. Удаление файла shrinkwrap решило проблему.

5
Pedro

В моем случае кодировка символов по какой-то причине была неправильной, мне пришлось преобразовать ее в UTF-8.

Я использовал «npm get», чтобы обнаружить проблему, результат был полон строк u/2411 .... 

2
Segimerus

Для людей, работающих под управлением Windows, проверьте, скрывает ли Windows расширения файлов. Для меня Windows говорила, что имя файла было .npmrc, но настоящее имя файла было .npmrc.txt.

Удаление расширения .txt устранило проблему.

2
AJ Richardson

В случае, если это кому-нибудь поможет ... моя проблема была в том, что я создал файл .npmrc в текстовом редакторе, поэтому npm игнорировал файл из-за разрешений на него. Чтобы это исправить я удалил файл. Затем я переделал файл через командную строку.

Ура!

1
rardoz

Я предполагаю, что пакет Node dslib-js содержится в вашем личном репозитории npm. Вам нужно будет установить этот репозиторий в вашем локальном файле .npmrc. Например, если ваш репозиторий был в http://myrepo.com:4000, вы бы выполнили следующую команду:

$ npm set registry "http://myrepo.com:4000"

Ошибка, которую вы получаете выше, заключается в том, что пакет dslib-js недоступен на npmjs.org, как вы можете увидеть, посетив этот URL: https://www.npmjs.org/package/dslib-js . По умолчанию (без реестра, установленного в вашем файле .npmrc), npm будет искать https://registry.npmjs.org (который можно просматривать в Интернете по URL, который я вставил выше).

0
dylants

Я пропустил несколько вещей, чтобы загрузить свои пакеты, опубликованные в моем личном репозитории. 

Сначала Имя файла было .npmrc.txt вместо .npmrc. В Windows вы не можете создать имя файла напрямую. Поэтому я открыл командную строку, а затем запустил

echo "auth_token" > .npmrc

Второй Я просто вставил свой auth_token в файл .npmrc. Вы также должны добавить адрес реестра.

//**.**.visualstudio.com/_packaging/**/npm/registry/:_authToken=token_here
0
Sunil Garg