Подтвердить что ты не робот

Npm - сохранить установленные пакеты в качестве зависимостей

Я установил некоторые пакеты через npm install $package, не настроив сначала package.json. Теперь я хотел бы создать файл package.json, но сохранить все установленные пакеты в качестве зависимостей. Просто запустить npm init не предлагает эту опцию, могу ли я добиться этого автоматически?

4b9b3361

Ответ 1

Обновление января 2016 года

npm теперь поддерживает это из коробки. У меня версия npm 3.5.2.

поэтому только с папкой node_modules с установленным подчеркиванием.

npm init --yes

то

cat package.json

Содержится внутри package.json:

"dependencies": {
    "underscore": "^1.8.3"
  },

Ответ 2

ОБНОВЛЕНИЕ: С запуском npm v3 этот трюк создаст много нежелательных записей в вашем файле package.json. Это потому, что зависимости модулей теперь сплющены, как отметил @sunny-mittal.

npm не поддерживает это, насколько я знаю. Вы должны переустановить каждый пакет, проходящий через --save, каждому из них.

Но, обходной путь, если вы используете системы на базе Unix. Изнутри корневой папки проекта с уже созданным файлом package.json (npm init, как вы упомянули) выполните:

npm install $(ls node_modules/) --save

и он переустановит пакеты и сохранит их в package.json как dependencies.

Ответ 3

Так как NPM node_modules сейчас плоский, а @Rodrigo не справляются с этим.

Это то, что я связал вместе.

npm list --depth=0 | sed "1d" | sed -E "s/^[\`+-]+\s//" | sed -E "s/@(.*)$//"

Это по существу то, что раньше делал ls node_modules.

Однострочный файл для сохранения.

npm install $(npm ls | sed "1d" | sed -E "s/^[\`+-]+\s//" | sed -E "s/@(.*)$//") --save

Я использую

$ npm --version 
3.5.3

Ниже перечислены такие параметры.

$ npm list --depth=0
[email protected] /home/victor/x
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]

Ответ 4

Я написал модуль под названием pkg-save.
Вы можете попробовать, если ваша версия npm "2.x.x".
Я не тестировал в npm v3, поэтому я не знаю, полезен он или нет в npm v3.

Ответ 5

Я столкнулся с этой проблемой, когда я клонировал новый проект из битбакет. Я решил это с помощью следующих шагов:

  • Перейдите в корневую папку, где package.json существует в вашем проекте.
  • Затем выполните следующую команду.

$ npm install