有人可以告诉我使用node.js软件包的推荐方法是使用本地npm安装(npm不带-g选项)吗?
有人推荐的方法是:
% cd myapp/.meteor/local/build/server/
% npm install aws-lib
npm http GET https://registry.npmjs.org/aws-lib
npm http 304 https://registry.npmjs.org/aws-lib
npm ERR! Could not create /home/user/myapp/.meteor/local/build/server/node_modules/___aws-lib.npm
这失败是因为myapp / .meteor / local / build / server / node_modules符号链接到/ usr / lib / meteor / lib / node_modules /。
我想在本地安装它有几个原因。我希望它是可移植的,如果我在其他地方部署应用程序,我希望所有的依赖项随它一起旅行。我不想以root身份执行此操作。将这样的东西安装到/ usr / lib / meteor中似乎是错误的。
答案 0 :(得分:0)
meteor bundle bundle.tar.gz
获取应用的node
- 可部署包。tar -xvf bundle.tar.gz
和cd bundle
。server
目录中有一个node_modules
目录。cd server & npm install aws-lib
这是一个可部署的程序包。致电node bundle/main.js
启动它。
要实际使用该模块,您必须致电__meteor_bootstrap__.require
。
查看此更详细的解决方案! https://stackoverflow.com/a/12730509/1757994
或者,您可以将node
模块包装为包含模块代码和__meteor_bootstrap__.require
行的包。这是一个简单的垫片的一个很好的例子:
https://github.com/tmeasday/meteor-page-js
这是一个围绕节点模块的垫片的例子:
https://github.com/possibilities/meteor-awssum
我怀疑这是你想要的包装......