![](/img/trans.png)
[英]Should I install npm packages that are dependencies of other installed packages?
[英]npm - save installed packages as dependencies
我已經通過npm install $package
安裝了一些軟件包,而沒有先設置package.json
。 現在,我想創建一個package.json
文件,但將所有已安裝的軟件包保留為依賴項。 簡單地運行npm init
不提供此選項,我可以自動實現嗎?
2016年1月更新
npm現在開箱即用。 我有npm 3.5.2版本。
因此僅安裝了下划線的node_modules文件夾。
npm init --yes
然后:
cat package.json
包含在package.json中:
"dependencies": {
"underscore": "^1.8.3"
},
更新:隨着npm v3的啟動,此技巧將在package.json
文件上創建許多不需要的條目。 因為@ sunny-mittal指出,現在模塊依賴關系已經變平。
據我所知, npm
不支持該功能。 您必須重新安裝每個傳遞--save
軟件包。
但是,如果您使用的是基於Unix的系統,則有一種解決方法。 在您的項目根文件夾中,已創建一個package.json
文件( npm init
,如上所述),運行:
npm install $(ls node_modules/) --save
它將重新安裝這些軟件包,並將它們作為dependencies
保存到package.json
中。
由於NPM node_modules
現在很平坦,而node_modules
對此並node_modules
。
這就是我編織在一起的東西。
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
x@0.1.0 /home/victor/x
+-- babel-eslint@5.0.0-beta6
+-- babel-preset-es2015@6.3.13
+-- gulp@3.9.0
+-- gulp-babel@6.1.1
`-- gulp-eslint@1.1.1
我編寫了一個名為pkg-save的模塊。
如果您的npm版本為“ 2.xx”,則可以嘗試一下。
我尚未在npm v3中進行測試,所以我不知道它在npm v3中是否有用。
當我從bitbucket克隆一個新項目時遇到了這個問題。 我通過以下步驟解決了這個問題:
$ npm install
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.