0
我有一个以流星0.6.0开始的应用程序,并且已经逐步更新到当前的0.9.3.1版本。流星0.9没有找到包所指定的npm依赖关系
应用程序使用所谓的“应用程序”的本地软件包这是./pacakges/app,它有一个package.js文件看起来像这样:
./packages/app/package.js
Package.describe({
summary: "App SDK",
version: "1.0.0"
});
Package.onUse(function (api) {
api.versionsFrom('0.9.3.1');
api.addFiles([
"app.js"
], "server");
api.export([
'amqp',
'eyes',
'fiber',
'eyes',
'pretty',
'sax',
'xml_writer'
], "server");
});
Npm.depends({
"eyes": "0.1.8",
"amqp": "0.1.6",
"fibers": "1.0.0",
"pretty-data": "0.40.0",
"sax": "0.5.4",
"xml-writer": "1.2.4"
});
这用来工作,但我最近签了一份工作副本在新机器上,我得到以下错误,当我开始流星:
app: updating npm dependencies -- eyes, amqp, fibers, pretty-data, sax, xml-writer...
W20141003-09:50:13.172(-7)? (STDERR)
W20141003-09:50:13.239(-7)? (STDERR) /root/.meteor/packages/meteor-tool/.1.0.33.vvwxrr++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
W20141003-09:50:13.239(-7)? (STDERR) throw(ex);
W20141003-09:50:13.239(-7)? (STDERR) ^
W20141003-09:50:13.240(-7)? (STDERR) Error: Cannot find module 'eyes'
W20141003-09:50:13.240(-7)? (STDERR) at Function.Module._resolveFilename (module.js:338:15)
W20141003-09:50:13.240(-7)? (STDERR) at Function.Module._load (module.js:280:25)
W20141003-09:50:13.240(-7)? (STDERR) at Module.require (module.js:364:17)
W20141003-09:50:13.241(-7)? (STDERR) at require (module.js:380:17)
W20141003-09:50:13.241(-7)? (STDERR) at Object.Npm.require (/mnt/disk2/applications/myapp/source/.meteor/local/build/programs/server/boot.js:95:18)
W20141003-09:50:13.241(-7)? (STDERR) at app/server/main.data_sync.js:10:24
W20141003-09:50:13.241(-7)? (STDERR) at /mnt/disk2/applications/myapp/source/.meteor/local/build/programs/server/boot.js:175:5
由于在那里提到了科尔多瓦,我认为这与流星最近引入该平台有关。我没有在我的应用中定位移动平台,所以我可以删除它,如果这有帮助。
问题是,我错过了什么来获得这些npm依赖关系吗?
也许在你的包的根目录下试试'rm -rf .npm'来清除npm相关的缓存。 – saimeunt 2014-10-03 17:04:48
确保deep是在package.json中指定的,然后运行'npm install' – Joseph 2014-10-03 17:17:57
@ joseph是不是Npm.depends应该自动安装它们? – SuitedSloth 2014-10-03 17:20:27