首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Node.js
Express
PPA for Ubuntu
ppa:chris-lea/node.js
V2EX  ›  Node.js

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

  •  
  •   skydiver · 2012-07-22 03:13:22 +08:00 · 9437 次点击
    这是一个创建于 2467 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 npm install express -g 安装 express ,结果 express 安装到了%home%\npm\node_modules 里面,express 依赖的模块安装到了%home%\npm\node_modules\express\node_modules 里面。。。

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

    真不知道干嘛设计成这个样子。。。这样模块岂不是不能重用了。linux里也是这样的吗
    5 回复  |  直到 1970-01-01 08:00:00 +08:00
        1
    skydiver   2012-07-22 03:14:52 +08:00
    是不是应该统一安装到 %home%\npm\node_modules 里面?但是我手动挪过去之后,运行一个模块的时候就找不到依赖的模块了。。
        2
    s   2012-07-22 03:31:35 +08:00
    npm和包不是用目录来区分版本的,也就是说不是 `node_modules/connect/1.8/` 这种目录结构。
    所以,依赖必须各管各的,要不版本冲突了。
        3
    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
        4
    infinte   2012-07-23 01:42:57 +08:00
    npm 的依赖包一直是放在 模块目录/node_modules 的好吧!
        5
    hypoo   2012-07-23 13:45:18 +08:00
    到npm官方下载win包 替换默认node安装的npm
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   926 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 93ms · UTC 20:03 · PVG 04:03 · LAX 13:03 · JFK 16:03
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1