【问题标题】:Unable to use NPM package in Meteor.js无法在 Meteor.js 中使用 NPM 包
【发布时间】:2014-02-21 11:46:23
【问题描述】:

我安装了meteor-npm 包和crypto npm 包。启动 Meteor 后,控制台输出

npm: updating npm dependencies -- crypto

但是,当我尝试在服务器中使用 npm 包时:

var Crypto = Npm.require('crypto')

我得到了错误

Error: Cannot find module 'crypto'

接下来我尝试了

var Crypto = Meteor.require('crypto')

我得到了错误

Error: Cannot find module '/Users/athenawisdoms/app/.meteor/local/build/programs/server/npm/npm/main/node_modules/crypto'

我注意到 npm 包存在于 /packages/npm/.npm/package/node_modules/crypto/.meteor/local/build/programs/server/node_modules/npm/node_modules/crypto 但不存在于/Users/athenawisdoms/app/.meteor/local/build/programs/server/npm/npm/main/node_modules/,如错误消息中所述。

是不是安装出错了?

【问题讨论】:

  • 当您打开节点并执行var x = require('crypto') 时会发生什么?这行得通吗?
  • @ChristianFritz 我在节点的 REPL 中这样做时得到undefined
  • 响应总是未定义的,但问题是x 是否会在之后定义。如果您没有收到错误,那么它似乎可以正常工作并且您的软件包安装工作正常。所以你的问题似乎与流星有关,而不是 npm 包本身。

标签: javascript node.js meteor npm


【解决方案1】:

我也遇到了这个问题。我很确定这是 Meteor 与 NPM 交互方式中的一个错误,因此我创建了 replication of the problemfiled an issue。然而,我很快意识到这是一个红鲱鱼,因为我使用的包实际上想使用 Node 的 crypto 模块而不是 NPM 模块。您确定您的包裹也不是这种情况吗?

我感觉这可能与双重命名的crypto 模块可能相互践踏有关。

【讨论】:

  • 是的,它确实使用了 Node 的 crypto 模块~
猜你喜欢
  • 2013-12-22
  • 2020-09-06
  • 2017-07-31
  • 2018-06-08
  • 2013-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多