我接管了一个NodeJS项目,为方便起见,已将一些符号链接放在node_modules
目录中,该目录已受版本控制(仅使用符号链接,而不是任何包)。
运行npm install
安装软件包后,将替换整个目录并删除这些文件,导致安装后运行的脚本失败,因为它依赖于现有文件。
"dependencies": {},
"scripts": {
"prepublish": "deployment/prepublish"
},
"devDependencies": {
"browserify": "^9.0.8",
"bulk-require": "^0.2.1",
"bulkify": "^1.1.1",
"deasync": "^0.1.4",
"del": "^1.1.1",
"gulp": "^3.8.11",
"gulp-angular-gettext": "^2.1.0",
"gulp-compass": "^2.0.4",
"gulp-concat": "^2.5.2",
"gulp-merge": "^0.1.0",
"gulp-replace": "^0.5.3",
"gulp-rev-all": "^0.8.18",
"gulp-uglify": "^1.2.0",
"gulp-util": "^3.0.4",
"gulp-watch": "^4.2.4",
"jshint": "*",
"lodash": "*",
"merge-stream": "^0.1.7",
"q": "*",
"request": "*",
"run-sequence": "^1.0.2",
"stringify": "^3.1.0",
"vinyl-buffer": "^1.0.0",
"vinyl-source-stream": "^1.1.0",
"vinyl-transform": "^1.0.0"
}
如何确保在npm install
时保留这些文件?我知道这个事实曾经在早期版本的npm中工作,但我没有在changelogs中看到任何内容。
提前感谢您的帮助!
答案 0 :(得分:0)
运行npm install
时,它将检查package.json
文件并尝试安装尚未安装到node_modules
目录的所有列出的依赖项。如果没有列出依赖项,它将替换整个node_modules
目录。
要保留node_modules
目录中的文件,您可以执行以下操作:
dependencies
的{{1}}列表中。