【发布时间】:2013-10-04 21:43:34
【问题描述】:
这里已经有一些与此问题相关的问题。
我想在官方的流星服务器上部署一个 meteorjs 应用程序。我的应用程序使用纤程,并且由于纤程是为我的系统 (Mac OSX) 编译的,它会在 ubuntu 服务器上由流星创建一个错误。
其他问题/答案与在官方流星服务器以外的其他地方部署应用程序有关,或者他们似乎留下了一步,因为它们不适合我。
其中一些相关帖子如下:
Reinstalling node-fibers for a Meteor app on Modulus.io?
Problems with Meteor deployment related to fibers module
我想使用:
meteor deploy myapp.meteor.com
编辑:
不幸的是,我上面的问题并不完整,我使用的是 Future,它是 Fiber 的一部分。当我将它部署到流星并访问服务器日志时,我收到这些警告,然后应用程序立即崩溃。
警告 /meteor/dev_bundles/0.3.13/lib/node_modules/fibers/future.js:173
警告错误:找不到模块“纤维/未来”
在我的代码中,我有一行:
Future = Npm.require("fibers/future");
这在meteor deploy XXX.meteor.com 上不可能吗?
编辑第二: 而不是使用:
Future = Npm.require("fibers/future");
我也试过了:
var path = Npm.require('path');
var fs = Npm.require('fs');
var base = path.resolve('.');
var isBundle = fs.existsSync(base + '/bundle');
var modulePath = base + (isBundle ? '/bundle/static' : '/public') + '/node_modules';
Future = Npm.require(modulePath + '/fibers/future');
正如这篇文章中所建议的:
How can I deploy node modules in a Meteor app on meteor.com?
并将光纤安装到:
.meteor/local/build/programs/server/public/node_modules/
但是有了这个,我在没有 sudo 的情况下运行流星时会得到这个 错误:EACCES,权限被拒绝'XXXX/.meteor/local/build' 在 Object.fs.renameSync (fs.js:439:18)
或者这个错误,当使用 sudo 运行它时: 错误:找不到模块 'XXXX/.meteor/local/build/programs/server/public/node_modules/fibers/future'
通常我在没有 sudo ofc 的情况下运行流星!
【问题讨论】:
标签: javascript macos deployment meteor