Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
meteor 0.9未找到包指定的npm依赖项_Meteor_Npm - Fatal编程技术网

meteor 0.9未找到包指定的npm依赖项

meteor 0.9未找到包指定的npm依赖项,meteor,npm,Meteor,Npm,我有一个从meteor 0.6.0开始的应用程序,并且已经逐步更新到当前的0.9.3.1版本 该应用程序使用一个名为“app”的本地包,该包位于./pacakges/app中,它有一个package.js文件,如下所示: /packages/app/package.js Package.describe({ summary: "App SDK", version: "1.0.0" }); Package.onUse(function (api) { api.v

我有一个从meteor 0.6.0开始的应用程序,并且已经逐步更新到当前的0.9.3.1版本

该应用程序使用一个名为“app”的本地包,该包位于./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"
});
这曾经是有效的,但我最近在一台新机器上检查了一个工作副本,当我启动meteor时,我得到以下错误:

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
既然那里提到了科尔多瓦,我想这与最近将该平台引入meteor有关。在我的应用程序中,我不是针对移动平台,所以如果这有帮助的话,我可以删除它


问题是,我是否错过了一些让这些npm依赖关系得到尊重的东西?

在这种情况下,答案是在包外有对npm.require()的调用。我曾假设由包设置的npm依赖项将对应用程序本身可用,但事实并非如此

在我的例子中,我只是通过api.export()导出了我需要的一些NPM包,并从应用程序中删除了所有NPM.require()调用(允许的NPM.require('fibers')除外)


还有一个函数允许Npm.require()不带包。

可以尝试在包的根目录下使用
rm-rf.Npm
清除与Npm相关的缓存。请确保在package.json中指定了DEP,然后运行
npm install
@Joseph不是npm。应该自动安装它们吗?@saimount也没有骰子。@thatjuan是的-但是试试看。