2014-01-29 43 views
0

我安裝了meteor-npm軟件包和crypto npm軟件包。無法在Meteor.js中使用NPM軟件包

var Crypto = Npm.require('crypto') 

我得到

Error: Cannot find module 'crypto' 

下一個我試圖

錯誤:啓動流星,控制檯輸出

npm: updating npm dependencies -- crypto 

然而,當我嘗試使用服務器中的NPM包後

var Crypto = Meteor.require('crypto') 

我得到th E錯誤

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/

安裝是否出問題了?

+0

當你打開節點並執行'var x = require('crypto')'時會發生什麼?那樣有用嗎? –

+0

@ChristianFritz當我在節點的REPL中做這件事時,我得到了'undefined'。 –

+0

響應將始終未定義,但問題是'x'是否將在後面定義。如果你沒有得到一個錯誤,那麼它看起來很有效,並且你的軟件包安裝工作得很好。所以你的問題似乎與流星有關,而不是npm包本身。 –

回答

0

我也遇到了這個問題。我很肯定這是Meteor與NPM交互的一種錯誤,所以我創建了一個replication of the problemfiled an issue。不過,我很快就意識到這是一條紅鯡魚,因爲我使用的包實際上是想使用Node的crypto模塊而不是NPM模塊。你確定你的包裝也不是這樣嗎?

我有一種感覺,這可能與雙重命名的crypto模塊可能相互踐踏的事實有關。

+0

是的,它的確在使用Node的'crypto'模塊〜 –