全局安装的软件包仍在本地安装

时间:2016-06-19 22:48:24

标签: node.js npm npm-install

我只在我的开发环境中使用node.js工具(即devDependencies,生产中没有任何内容) - 例如grunt,uglify,sass,bower等。

我管理了很多项目,每个项目都使用完全相同的工具。此外,我经常移动这些项目,包括压缩它们,将一些项目放入Dropbox等。

通常,每个项目中node_modules文件夹的大小都变成了一个bug - 我的PC有时会在删除它时冻结,在我意识到我忘记首先删除node_modules等之前,档案最终会大量等等。

据我了解,我可以全局安装节点包(使用npm install -g <package>),如果正确的包全局可用,那么当我在我的每个项目的npm_modules文件夹中时,npm不需要再次安装它运行npm install

我是否理解正确?

如果是这样,这对我来说似乎不起作用:

  • 我跑了npm install -g bower
  • cd到项目文件夹和npm install
  • node_modules / bower文件夹以其所有荣耀
  • 创建

在我的package.json中,我的凉亭依赖关系如下所示:

"devDependencies": {
  "bower": "^1.7.7",

我尝试将其设置为“*”并重复上述步骤,以防npm尝试确保只有某个版本可用,但我得到了相同的结果。

我理解管理依赖关系的重点是不同版本的软件包可以在不同的项目中使用;在我的情况下,因为我只使用devDependencies,我很高兴使用相同/最新版本的所有内容,因为我知道无论如何它都会有效。

你可能会说,我对node.js相当新。我是否正确理解了这是如何工作的?或者我是以错误的方式去做的?

如果它是相关的,我在Windows 10上并使用Gi​​t Bash(似乎是基于MinGW)。

1 个答案:

答案 0 :(得分:0)

在我看来,你正在以正确的方式做事。我倾向于回避全球安装npm模块。如您所述,这使您的项目非常便携。所有依赖项都在本地目录中捕获。你可以压缩整个东西,把它放在Dropbox或任何地方,你知道它拥有一切。

我很惊讶您的项目目录包括node_modules是如此之大,以至于您注意到性能问题。如果确实如此,我会仔细检查你的package.json中没有任何未使用的依赖项。如果您担心项目中安装的deps不在package.json(已安装ad hoc)中,则可以删除node_modules目录并重新运行.Range("A1:B7").Select ActiveSheet.Shapes.AddChart2(-1, xlHistogram).Select 。您总是希望package.json成为项目代表的准确列表。