在开发过程中使用npm link更新依赖项有点麻烦。
NPM是否有类似Composer的“--prefer-source”选项,以将依赖项安装为版本控制存储库?
不
Git仓库永远不会直接克隆到您的应用程序中。它们总是遵循以下过程:
- npm将仓库裸克隆到$TMPDIR
- npm将该克隆克隆到您的npm缓存中的目录中,然后检出请求映射到的treeish分支。
- npm从该检出生成可安装的软件包tarball,然后将其放置在您的npm缓存中。
- 缓存的tarball被安装到您的应用程序中。
如果您希望直接从项目的Git checkout中工作,并保留所有子模块,则最好的选择可能是为具有子模块的项目进行npm链接,然后将其npm链接到使用它的软件包中。这比在package.json中使用Git URL更麻烦,但它将为您提供所需的文件布局控制。
来源:https://github.com/npm/npm/issues/6700#issuecomment-71302066
这是有关npm在Github上的功能请求:https://github.com/npm/npm/issues/7375