最初にnpm install $package
を設定せずに、package.json
を介していくつかのパッケージをインストールしました。ここで、package.json
ファイルを作成しますが、インストールされているすべてのパッケージを依存関係として保持します。 npm init
を実行するだけではこのオプションは提供されませんが、これを自動的に実現できますか?
2016年1月更新
npmはすぐにこれをサポートします。 npmバージョン.5.2があります。
node_modulesフォルダーとnderscoreがインストールされているだけです。
npm init --yes
その後:
cat package.json
Package.jsonに含まれる:
"dependencies": {
"underscore": "^1.8.3"
},
PDATE: npm v3の起動により、このトリックはpackage.json
ファイルに多くの不要なエントリを作成します。 @ sunny-mittalが指摘したように、モジュールの依存関係が平坦化されたためです。
私の知る限り、npm
はそれをサポートしていません。 --save
を各パッケージに渡して、各パッケージを再インストールする必要があります。
ただし、Unixベースのシステムを使用している場合は、回避策があります。既に作成されたpackage.json
ファイル(前述のnpm init
)を使用して、プロジェクトのルートフォルダーから、次を実行します。
npm install $(ls node_modules/) --save
パッケージを再インストールし、package.json
にdependencies
として保存します。
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]
pkg-save というモジュールを作成しました。
npmバージョンが「2.x.x」の場合、試してみることができます。
npm v3でテストしていないので、npm v3で有用かどうかわかりません。