Сообщения об ошибках npm при установке пакетов от имени пользователя sudo - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь установить экспресс через npm в узле (nodejs).Я пользователь 'kev', а этот пользователь sudo.Я не могу использовать команду sudo для установки чего-либо, потому что она вообще не может найти npm, когда я «sudo npm» по какой-то странной причине.Я попытался добавить символические ссылки, но sudo'ing все еще отказывается найти npm.Таким образом, работая от имени обычного пользователя и пытаясь установить Express с помощью npm, я получаю следующие ошибки:

kev@tentimes:~$ npm install express

npm WARN saveError ENOENT: no such file or directory, open '/home/kev/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/home/kev/package.json'
npm WARN kev No description
npm WARN kev No repository field.
npm WARN kev No README data
npm WARN kev No license field.

Я понятия не имею, что означают ошибки, за исключением того, что, как мне кажется, это может быть из-за меня неповышение до sudo для установки с помощью nvm.У кого-нибудь есть предложения?Я впервые устанавливаю Express с помощью node / nvm, и я следую некоторым недавним руководствам о том, как это сделать, но в руководствах просто сказано использовать «nvm install express», и это просто должно сработать.Кстати, у меня есть git setup, но почему он жалуется на репозитории?

1 Ответ

0 голосов
/ 21 января 2019

NPM - менеджер пакетов, и, как следует из его названия, он работает с пакетами. Пакет - это, в основном, папка или хранилище с файлом package.json, который содержит все виды метаданных о пакете. Этот файл отсутствует, так как ошибка говорит вам:

ENOENT: no such file or directory, open '/home/kev/package.json'

Хорошо, пакет должен быть установлен в любом случае, проверьте папку ./node_modules. Однако рекомендуется самостоятельно инициализировать пакет nodejs с помощью npm init, который задаст вам несколько вопросов о пакете, который вы собираетесь написать. После этого npm install --save express устанавливает express и сохраняет зависимость в вашем собственном package.json файле , поэтому в следующий раз вы можете просто npm install и npm с радостью установит все зависимости, перечисленные в вашем package.json файл.

Вот еще немного документации о том, что такое package.json и какая информация в нем содержится: https://docs.npmjs.com/files/package.json

...