2017-02-16 3 views
2

Команда npm install <module> устанавливает модули всегда в домашнюю директорию пользователя не намеренно. Какая настройка вызывает это поведение? Я просто хочу установить модули на текущий путь. Если я пытаюсь установить модуль, в папке, которая на рабочем столе, например, устанавливается в домашний каталог.npm устанавливает модули в домашний каталог

mymac:testfolder myuser$ pwd 
/Users/myuser/Desktop/untitledfolder 
mymac:testfolder myuser$ npm install async 
npm http GET https://registry.npmjs.org/async 
npm http 304 https://registry.npmjs.org/async 
npm http GET https://registry.npmjs.org/lodash 
npm http 304 https://registry.npmjs.org/lodash 
[email protected] ../../node_modules/async 
└── [email protected] 

, как вы видите, он устанавливает модули ../../node_modules/. У меня нет файла package.json в тестовой папке.

+1

Что делает 'npm root' печать? – dhke

+0

он дает/Пользователи/myuser/node_modules – Adem

ответ

2

Вам необходимо иметь package.json в вашем текущем каталоге.

Вы запустили npm init?

Если у вас нет пакета package.json в вашем текущем каталоге, он может попробовать найти его в верхней директории, найти в вашем доме и установить там модули.

+0

Я думаю, что это проблема. после инициализации npm он создает package.json и устанавливает node_modules в текущей папке. спасибо – Adem

+0

У меня такая же проблема, и запуск npm init решает это и для меня. Однако я уверен, что ранее я мог просто запустить npm install , и он просто установил бы пакет в текущем каталоге, а не mater, есть ли package.json или нет. – Yaba