npm install - 保留node_modules中的现有文件

时间:2016-01-22 03:46:08

标签: node.js git npm

我接管了一个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中看到任何内容。

  • NodeJS Version = v5.4.1
  • NPM Version = 3.3.12

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

运行npm install时,它将检查package.json文件并尝试安装尚未安装到node_modules目录的所有列出的依赖项。如果没有列出依赖项,它将替换整个node_modules目录。

要保留node_modules目录中的文件,您可以执行以下操作:

  1. 安装模块并将其添加到dependencies的{​​{1}}列表中。
  2. 将符号链接文件移动到模块的文件夹中。