使用 Yeoman 时,是否可以从全局安装的包中复制 "bower install" 或 "npm install" 而不是下载包?

When using Yeoman, is it possible to make "bower install" or "npm install" copy from globally installed packages instead of downloading the packages?

当我使用 Yeoman 构建新的 Web 应用程序并自动为我运行 bower install && npm install 时,我注意到下载所有包/依赖项需要几分钟时间。

是否可以简单地从本地目录复制所有包而不是全部下载它们?

很遗憾,这是不可能的。 Yeoman 无法控制依赖项的安装位置和方式。 Yeoman 仅协调开发环境的设置(脚手架),依赖项在 package.json 文件中定义,该文件不是 yeoman 的一部分,而是作为所用模板的一部分出现。

yeoman 然后所做的就是调用 npm install 命令来获取所有依赖项。

此外,在处理 package.json 中定义的依赖项时,使用全局包被认为是一个坏主意。例如,如果你有两个模块依赖于同一个全局模块的两个不同版本,你就有(并且可能有严重的)问题。

这就是为什么当你使用 npm 时,所有模块通常都安装在本地。