错误:找不到模块'下划线'从流星包中的boot.js抛出

时间:2014-08-12 01:28:57

标签: javascript meteor meteorite

我正在使用流星和陨石的npm模块。不确定问题是否与此有关但是...我有一个小项目我正在尝试部署到流浪汉虚拟机但是当我启动它时我得到了

module.js:340
    throw err;
          ^
Error: Cannot find module 'underscore'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/var/projects/myapp/live/programs/server/boot.js:5:9)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

我看到this question似乎没有关联。我在开发过程中一切正常(意味着从源文件夹到部署版本)。

mrt --version报告

$ mrt --version
Meteorite version 0.7.4
Release 0.8.3

我的packages.json对于mrt npm是

{
  "winston": "0.7.3",
  "winston-loggly": "1.0.1"
}

不太大。我{m}的smart.json

{
  "packages": {
    "collection-api": {},
    "iron-router": {},
    "npm": {}
  }
}

我没有在任何地方使用require,只有Meteor.require

我甚至尝试过

mkdir delme
cd delme
mrt create test.app
meteor bundle --directory ../live

它会创建相同的programs/server/boot.js,包括不存在的下划线。我按照自述文件中的说明进行操作。我在自述文件中安装了fiberbcrypt,就像在自述文件中提到的一样。

我尝试手动安装underscore。然后我开始收到关于source-map-support模块的错误。所以我补充说。然后我开始收到有关错过semver模块的错误,因此我添加了该错误,但又丢失了另一个模块。很明显,我错过了一步或者其他什么,但我找不到运气。

想法?


更新#1

所以我在虚拟盒上从头开始安装meteor

curl https://install.meteor.com | /bin/sh
meteor create test.app
meteor bundle --directory ../test
cd ../test
rm -r programs/server/node_modules/fibers
rm -r programs/server/node_modules/bcrypt
npm install fibers@1.0.1
npm install bcrypt@0.7.7    
export MONGO_URL='mongodb://user:password@host:port/databasename'
export ROOT_URL='http://example.com'
node main.js

那很有效。

检查那个中的programs/server/node_modules目录

ls test/programs/server/node_modules/
eachline  fstream   http-proxy  keypress      npm      semver      source-map-support  underscore
esprima   heapdump  kexec       node-aes-gcm  request  source-map  tar

显示问题的那个是

ls /var/projects/myapp/live/programs/server/node_modules 
bcrypt  fibers  

也许有些东西破坏了原来的meteor bundle


更新#2

SO EMBARRASSING!问题是我的node_modules中有.gitignore,我正在通过git传输文件。 :P

0 个答案:

没有答案