2016-12-04 4 views
0

У меня есть каталог, который выглядит такУстановить НПМ зависимость в папку, которая не содержит package.json

/foo 

да это пустая папка, я хочу, чтобы запустить

cd foo && npm install bar 

однако НПМ жалуясь, что в каталоге foo нет файла package.json.

Есть ли надежный способ установки depedency в каталог, если там нет файла package.json (пока)?

Оказывается, это было просто предупреждение, а не ошибка, я неправильно понял, он говорит:

НПМ WARN ENOENT ENOENT: нет такого файла или каталога, откройте «/home/olegzandr/.suman /package.json '

Я думаю, что мой вопрос тогда станет, есть ли способ сказать НПМ игнорировать отсутствующий файл package.json?

+0

http://stackoverflow.com/a/37079775 –

+0

@ stdob-- так 'НПМ пакет Foo' это путь? –

+0

Некоторое подобное: 'rm -r -f ./node_modules/PACKAGE_NAME && mkdir -p ./node_modules/ && npm pack PACKAGE_NAME | xargs tar -C/var/www/node/ork/node_modules -xzf && mv ./node_modules/package ./node_modules/PACKAGE_NAME && rm PACKAGE_NAME * .tgz' :) –

ответ

1

Одна из основных причин для package.json заключается в документировании зависимостей, которые имеет данное приложение. С учетом сказанного вы можете либо запустить npm init в свой каталог, чтобы создать package.json, либо установить пакет по всему миру с помощью npm install -g bar.

+0

yep, мой случай использования немного необычен, иначе вы бы заметили на –

+1

Got ya. Что именно вы пытаетесь достичь? – Dillon

+0

В принципе, у меня есть библиотека, вы хотите добавить постороннюю зависимость, не находящуюся в локальном каталоге node_modules, в NODE_PATH. Посторонняя зависимость должна быть установлена ​​в каталог без файла package.json. Я предполагаю, что тот же способ, установленный на глобальном уровне, устанавливается в их каталоге без пакета.json, нет? –

1

Вы можете написать

npm install packegName --loglevel=error 

Это показывает только ошибки. для примера проблема в загрузке или не может быть найдена.

+0

Я попробовал --louldvel = silent, и это не сработало, попробуем это вместо этого. –

+0

@AlexanderMills это работает для вас?Я пробовал это 3 раза и никаких предупреждений. – Alon

-2

package.json файл не только содержит информацию о вашем проекте, но также содержит зависимости, которые делают ваш проект автономным и легко развертываемым. однако вы все равно можете установить пакет без файла package.json по всему миру, запустив npm install bar -g, но это не будет частью вашей зависимости проекта, оно будет только на вашей локальной машине.

так, вопрос зависит от вас на самом деле, но, как я уже упоминал, его можно установить пакеты npm по всему миру без файла package.json. Просто вы должны установить это снова, когда вы перемещаете проект на другой компьютер или сервер, если это ваша цель.

1

Попробуйте это:

rm -r -f ./node_modules/PACKAGE_NAME && \ 
mkdir -p ./node_modules/ && \ 
npm pack PACKAGE_NAME | xargs tar -C ./node_modules -xzf && \ 
mv ./node_modules/package ./node_modules/PACKAGE_NAME && \ 
rm PACKAGE_NAME *.tgz 
Смежные вопросы