从 DevOps Services 部署 Meteor 应用程序时,如何在 IBM Bluemix 上安装所需的包?

How do I install a required package on IBM Bluemix when deploying a Meteor application from DevOps Services?

我希望有 IBM Bluemix 向导可以回答这个问题。

我有一个用 Meteor 编写的应用程序,我正试图将其部署到 Bluemix。该应用程序包含此行:

var AdmZip = Npm.require('adm-zip');

这当然意味着该应用程序使用 adm-zip 包来做事。当我尝试通过 DevOps Services 部署应用程序时,它失败并出现以下错误:

ERR Error: Cannot find module 'adm-zip'

在日志中。如果我删除 Npm.require 行,应用程序部署正常,但当然不能正常工作,因为 adm-zip 不是那里。

我的 package.json 文件包含以下条目:

  "dependencies": {
      "adm-zip": "*"
  },

我认为这应该足以加载 adm-zip 包。我也试过为 adm-zip 指定 Git URL 但结果是一样的。

有谁知道我必须做什么才能正确部署此应用程序?

查看 Meteor 文档的以下行...

// import a global NPM package
var Spooky = Npm.require('spooky');

...尝试导入全局 NPM 包(使用 -g 标志安装)。

Meteor 有一个 plugin 可以处理 NPM 集成。

使用以下命令安装此模块:

$ meteor add meteorhacks:npm

如果你在package.json中正确设置了包依赖,你可以使用下面的方法导入并使用spooky 包裹:

// This method loads NPM modules you've specified in the packages.json file.
var Spooky = Meteor.require('spooky');