0

将捆绑依赖项提升到全局模块的明显方法是将目录从 移动node_modules/foo/node_modules/baz到 ,node_modules/baz只需要这样做吗?有没有秘密的握手,没有它,事情就会神秘地出错?

(虽然我问的是/否问题:我注意到 npm 将 node_module 放在我目前碰巧所在的任何目录下。这是预期的行为 - 我可以看到它对递归安装依赖项有什么用 - - 还是我没有讽刺意味地搞砸了 npm 的安装?)

(说到关于安装混乱的是/否问题,我的节点安装不会自动查看它自己的node_modules 目录,我必须将它添加到 NODE_PATH。这是预期的行为吗?)

node.js 两天后我的评价:很棒的产品,我不明白为什么它没有比现在更受欢迎——我最擅长解决标准 Apache/ 中绝对无法解决的问题Tomcat 系统我已经习惯了——但是对于像上面这样的真正简单的问题,比大图的问题更难找到答案(“我如何连接到 MySQL?”“我如何进行负载平衡?”)

4

1 回答 1

0

从 1.0 版开始,npm 改变了它在全局与本地方面的安装方式。

简短的回答是,如果您想全局安装模块,您可以使用该-g标志。

npm install awesome-module -g

如果你想在本地使用它,你可以放下-g标志。

如果您希望您的模块仅在全局范围内安装,您可以添加

"preferGlobal": true

给你的package.json

就您的第二个问题而言,是的,node_module放入您所在的任何目录都是预期的行为,这是本地安装的一部分。

链接到 npm 1.0 发布博客:http: //blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

于 2011-08-14T18:13:34.487 回答