我跑了npm install
很多包,但我忘了包括--save
的論點。現在,當我嘗試在Heroku上部署時,由於缺少某些依賴關係而出現錯誤。我怎麼能自動添加這些依賴關係到我的package.json
文件,而不爲每個人做npm install --save
?如何將通過npm安裝的所有依賴項保存到我的package.json文件中?
3
A
回答
5
您可以通過致電npm init
將所有未安裝的軟件包與--save
一起添加到您的package.json
中。它會將依賴關係追加到現有的依賴項上。您的文件中沒有設置應該丟失。仍然不要忘記備份文件100%安全!
如果依賴沒有被附加,它可以發生,只是合併失敗:
備份現有
package.json
爲了保持你的依賴在你package.json
已經和所有其他設置。我們稍後需要這個文件。刪除的
package.json
和運行npm init
,以創建一個新的package.json
包括dependencies
沒有--save
安裝的模塊。合併將您新創建的
package.json
的依賴關係手動添加到舊的。恢復您的合併package.json
。
1
有人已經爲此寫了一個腳本。 轉到下面的鏈接
這裏是完整的代碼 運行這段代碼項目文件夾
var fs = require("fs");
function main() {
fs.readdir("./node_modules", function (err, dirs) {
if (err) {
console.log(err);
return;
}
dirs.forEach(function(dir){
if (dir.indexOf(".") !== 0) {
var packageJsonFile = "./node_modules/" + dir + "/package.json";
if (fs.existsSync(packageJsonFile)) {
fs.readFile(packageJsonFile, function (err, data) {
if (err) {
console.log(err);
}
else {
var json = JSON.parse(data);
console.log('"'+json.name+'": "' + json.version + '",');
}
});
}
}
});
});
}
main();
它將打印node_module文件夾內所有的依賴關係如下內。
"ansi-regex": "2.0.0",
"ansi-styles": "2.2.1",
"asn1": "0.2.3",
"assert-plus": "0.2.0",
"asynckit": "0.4.0",
"aws-sign2": "0.6.0",
"bcrypt-pbkdf": "1.0.0",
"aws4": "1.4.1",
"bindings": "1.2.1",
"bl": "1.1.2",
"boom": "2.10.1",
"caseless": "0.11.0",
"chalk": "1.1.3",
"combined-stream": "1.0.5",
"core-util-is": "1.0.2",
"compress": "0.99.0",
"commander": "2.9.0",
"cryptiles": "2.0.5",
"delayed-stream": "1.0.0",
"dashdash": "1.14.0",
"debug": "0.7.4",
"ecc-jsbn": "0.1.1",
"ejs": "2.3.4",
"escape-string-regexp": "1.0.5",
副本和你的package.json JSON裏面粘貼如下
{
"name": "test",
"version": "1.0.0",
"main": "server.js",
"dependencies": {
//paste above printed data here
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"description": ""
}
相關問題
- 1. 安裝NPM的依賴到文件夾中不包含的package.json
- 2. NPM安裝安裝不在我的package.json中的依賴關係
- 3. NPM安裝不保存依賴性的package.json
- 4. 如何將npm安裝爲只保存對package.json的依賴關係?
- 5. 如何安裝所有NPM依賴
- 6. 通過package.json安裝「全局」npm依賴關係
- 7. npm安裝任何--save不保存到我的package.json中?
- 8. package.json在運行npm install時沒有安裝依賴關係
- 9. 可選的NPM依賴項安裝
- 10. NPM安裝來自package.json的依賴關係
- 11. npm安裝,安裝軟件包甚至沒有列在我的package.json文件中
- 12. 沒有通過廚師安裝的Npm依賴關係
- 13. 安裝的package.json依賴全球
- 14. 從github安裝NPM依賴項
- 15. NPM安裝:在的package.json
- 16. 如何將所有已安裝的節點模塊保存在package.json中?
- 17. 如何一次將所有從node_modules的依賴項添加到package.json?
- 18. NPM鎖定依賴包中的依賴版本package.json
- 19. 是否有NPM命令添加依賴關係的package.json無需安裝呢?
- 20. 沒有依賴關係的package.json文件?
- 21. 爲什麼npm安裝未在我的package.json文件中列出的依賴關係?
- 22. npm安裝不安裝依賴關係 - 只是鎖定文件
- 23. 在npm init之後package.json文件沒有依賴關係
- 24. 爲什麼我不能用npm安裝任何gulp依賴項?
- 25. 如何寫一個package.json文件,使所有的依賴項都與「npm install」一起下載
- 26. 通過npm安裝的@import susy文件
- 27. 由npm安裝的concat依賴關係
- 28. 如何通過沒有所有依賴關係的yum安裝python包
- 29. NPM,package.json - 如何在名稱中添加與「@」的依賴關係
- 30. 如何在package.json中包含依賴包時傳遞給npm安裝程序的選項
不會取代我的項目文件? –
您的項目文件和node_modules未被觸及。這都是關於package.json的 –