【问题标题】:When using Meteor, should I prefix npm with meteor?使用 Meteor 时,我应该在 npm 前加上流星吗?
【发布时间】:2016-07-12 12:54:02
【问题描述】:
【问题讨论】:
标签:
javascript
node.js
meteor
npm
【解决方案1】:
嗯,确切地说,这取决于您要执行的操作。
简单的理由是基于汤姆在回答中没有明确说明的内容:
-
$ meteor npm install … 将使用本地 npm 随附/捆绑 Meteor Tools。这是 Meteor 的官方支持版本。
-
$ npm install … 将使用您的全局 npm,该版本可能与 Meteor 的版本不同。
对于npm,差异可能不明显。
不幸的是,Node 的情况有所不同:Meteor 1.3 仍然依赖于 Node 0.10.43!只需尝试使用命令$ meteor node --version 和$ node --version。
Meteor 1.4 应该升级到 Node 4。
知道了这一点,你仍然可以使用$ node(没有meteor 前缀),只要你的脚本以后不需要由 Meteor 本身执行(通常通过构建过程)。即使是这样,如果您的脚本不使用高级 Node 功能(即在 0.10.43 版本之后引入),您也不应该遇到麻烦。
【解决方案2】:
至少使用全局 npm 或封装的流星没有区别。对我来说,我总是使用meteor npm 或meteor node,因为我不需要也不想安装全局软件。
还要知道,捆绑节点始终是经过最佳测试兼容性的版本,所以我总是使用它。同样在生产环境中,我们安装了流星并在运行我们的应用程序时使用捆绑的 npm 和节点。目前没有问题。
我还希望将所有与项目相关的东西都放在项目文件夹中,而不是全局。这意味着,我们不会在全局范围内安装任何与 npm 相关的东西,而是始终安装在 node-modules 文件夹的本地。
这使我们有机会在不同的自托管环境中移动和运行我们的软件,即使在同一系统上具有不同版本的项目之间也不会出现问题或兼容性问题。
请注意,在 1.3.4.3 版本之前,meteor 工具并不总是尊重最新的工具,但现在已经解决了。
干杯
汤姆