有没有办法让npm解压node_modules下的所有模块?诸如npm rebuild之类的东西会删除所有构建工件,但不重建它们吗?
4
以为你永远不会问呢。我一直在检查我的node_modules目录到混帐作为推荐mikealrogers.com/posts/nodemodules-in-git.html。当我添加一个新模块或更新当前模块时,我最终在git中生成了不应存在的构件,必须对其进行清理。我在想,如果我可以先清洗它们,则过程会更加顺利。
—
戴夫·凯西
快速说明:NPM支持
—
米歇尔·提里(Michelle Tilley),2012年
shrinkwrap
(请参阅npmjs.org/doc/shrinkwrap.html),您可以锁定所有依赖项的版本(而不仅仅是顶级的)。
不具有此功能也很容易跨平台开发。我们在Mac上进行开发,并在Linux上运行CI,因此每次在Linux上进行构建时,都需要删除node_modules目录并完全重新安装,这会浪费大量时间。
—
JBCP
@JBCP,您做错了。您应该做的是在中安装模块
—
Bojan Markovic
packages.json
(使用npm --save
),然后将node_modules
目录放入.gitignore
(如果使用git)。CI不应拉您的node_modules,而应执行npm install
。最后,如果从npm注册表下载花费的时间太长,请使用sinopia之类的内容对其进行缓存。
@BojanMarkovic-您是正确的,这就是我们现在设置项目的方式。我上面的评论来自大约一年前。有(一些)项目建议将node_modules提交到Git中,但这绝对是不正确的。
—
JBCP