Windows 下 npm 模块安装的位置太奇葩了

2012-07-22 03:13:22 +08:00
 skydiver
用 npm install express -g 安装 express ,结果 express 安装到了%home%\npm\node_modules 里面,express 依赖的模块安装到了%home%\npm\node_modules\express\node_modules 里面。。。

后来安装另一个模块,结果这个模块依赖的包又安装到了这个模块的目录里面的node_modules目录里。。。而且和这个有重复的。。。

真不知道干嘛设计成这个样子。。。这样模块岂不是不能重用了。linux里也是这样的吗
10880 次点击
所在节点    Node.js
5 条回复
skydiver
2012-07-22 03:14:52 +08:00
是不是应该统一安装到 %home%\npm\node_modules 里面?但是我手动挪过去之后,运行一个模块的时候就找不到依赖的模块了。。
s
2012-07-22 03:31:35 +08:00
npm和包不是用目录来区分版本的,也就是说不是 `node_modules/connect/1.8/` 这种目录结构。
所以,依赖必须各管各的,要不版本冲突了。
rhyzx
2012-07-22 10:44:14 +08:00
之前也研究探讨过NODE模块在WIN下的路径问题..
对于无法模块重用, 虽然浪费了些空间其实问题不大, 安装也方便

不过对于路径的定义还是持怀疑态度的,
在下经过修改后路径成了这样:
nodejs/
|-- node.exe
|-- npm.cmd
|-- lessc.cmd
|-- node_modules/
| |-- npm/
| |-- less/
| |-- glob/
| `-- other_modules/
`-- npm_cache/

path添加nodejs/目录即可
另外WIN下默认安装node后安装的全局模块-g 无法require到, 可以添加NODE_PATH变量指向到nodejs/node_mudules
infinte
2012-07-23 01:42:57 +08:00
npm 的依赖包一直是放在 模块目录/node_modules 的好吧!
hypoo
2012-07-23 13:45:18 +08:00
到npm官方下载win包 替换默认node安装的npm

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/43097

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX