brew 里的 node.js 安装的时候不创建 npm 的符号链接? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
264.18D
571.78D

brew 里的 node.js 安装的时候不创建 npm 的符号链接?

  •  
  •   Livid
    PRO
    2014 年 5 月 7 日 12170 次点击
    这是一个创建于 4370 天前的主题,其中的信息可能已经有所发展或是发生改变。
    brew link node 然后执行 npm 还是 command not found?
    21 条回复    2020-01-05 11:19:53 +08:00
    wtl
        1
    wtl  
       2014 年 5 月 7 日
    也碰到这个问题 后来就直接下安装包了
    dorentus
        2
    dorentus  
       2014 年 5 月 7 日
    我的是有的

    莫非你是带 --without-npm 参数安装的?
    Livid
        3
    Livid  
    MOD
    OP
    PRO
       2014 年 5 月 7 日
    @dorentus 就用 brew install node 装的。

    刚刚也直接去下载官网安装包了。
    zieglar
        4
    zieglar  
       2014 年 5 月 7 日
    还是用 nvm 来处理比较好
    fundon
        5
    fundon  
       2014 年 5 月 7 日   2
    `brew edit node` 默认加了 `--without-npm`

    执行 `brew install node --with-npm`
    fundon
        6
    fundon  
       2014 年 5 月 7 日
    推荐nvm,切换版本方便
    ohsc
        7
    ohsc  
       2014 年 5 月 7 日
    单独安装吧,npm本身可以自我升级,再纳入brew管理会有问题。

    https://github.com/Homebrew/homebrew/pull/27479
    dorentus
        8
    dorentus  
       2014 年 5 月 7 日
    @fundon 难怪。。他们为啥要这么做。。

    不过更奇怪的是我直接装还是带 npm 的:

    Livid
        9
    Livid  
    MOD
    OP
    PRO
       2014 年 5 月 7 日
    @dorentus 你的 brew 已经有一段时间没更新了。
    ohsc
        10
    ohsc  
       2014 年 5 月 7 日
    如果你已经安装了npm,更新node后brew会执行 /usr/local/bin/npm update npm -g
    dorentus
        11
    dorentus  
       2014 年 5 月 7 日
    @Livid 嗯,确实是这个原因。

    不过其实就是晚了一天没更新。

    原因是这个 commit: https://github.com/Homebrew/homebrew/commit/15846a5d131f69ec8e9ddc263f1cabfa63b0c2f4#diff-ba7ac8bf3cbc78ff35d6909b6074ee5e

    我觉得大概是这样:
    虽然 formula 里面很早就默认加了 --without-npm,但是平常大家不带参数装的时候,其实是直接下载的预先打包好的 tarball(bottled do ... end 那里),然后这个 commit 之前的 0.10.26 版的 tarball,估计还是带了 bin/npm 的,但是 0.10.28 里面它被删掉了……
    chrisyipw
        12
    chrisyipw  
       2014 年 5 月 7 日
    似乎和版本有关的,brew install node 一直都会安装 npm,但安装 dev 时则不会安装。

    鉴于 brew 安装的 npm 之前有过不少问题,比如 npm update -g 无法更新 npm 自身 (报错) ,可能独立安装 npm 会更保险。

    至于 nvm,这家伙目前并没有设置全局的功能,我是 brew 安装一个稳定版作为全局使用,用 nvm 控制不同版本的切换。
    fundon
        13
    fundon  
       2014 年 5 月 7 日   1
    还有另外一个选择,使用boxen管理环境,装https://github.com/boxen/puppet-nodejs

    默认带了 nodenv 命令,比nvm方便

    ```
    λ ~ nodenv help (node-v0.10.26) 17:32:59
    Usage: nodenv <command> [<args>]

    Some useful nodenv commands are:
    exec Execute a command from a particular NodeJS version.
    shell Set NODENV_VERSION for the lifetime of a shell.
    local Persist the preferred NodeJS version in the cwd.
    global Persist the preferred NodeJS default version.
    install Install a version of NodeJS.
    uninstall Uninstall a version of NodeJS.
    version Show the current NodeJS version.
    versions Display all versions of NodeJS installed in `${NODENV_ROOT}/versions/*'.
    rehash Rehash nodenv shims (run this after installing executables)

    See `nodenv help <command>' for information on a specific command.
    ```
    mahone3297
        14
    mahone3297  
       2014 年 5 月 7 日
    port安装。。。
    sd4399340
        15
    sd4399340  
       2014 年 5 月 7 日
    试试 brew postinstall node

    我刚才更新node的时候brew报这个错

    npm ERR!
    npm ERR! Additional logging details can be found in:
    npm ERR! /Users/pinky/npm-debug.log
    npm ERR! not ok code 0
    Warning: The post-install step did not complete successfully
    You can try again using `brew postinstall node`

    不过我也没注意运行这个之前npm正常不,反正运行后是正常的
    newtonisaac
        16
    newtonisaac  
       2014 年 5 月 9 日 via iPad
    .npm目录及子目录权限改为可读可写
    sdhjl2000
        17
    sdhjl2000  
       2014 年 5 月 27 日
    刚遇到这个问题,根据提示发现是权限问题:sudo brew postinstall node
    Feiox
        18
    Feiox  
       2014 年 8 月 7 日
    @sd4399340 我遇到了同样的报错信息,是在 brew install node 时就遇到的。您是怎么解决的呢
    sd4399340
        19
    sd4399340  
       2014 年 8 月 9 日
    @Feiox 我好像最后就是用 brew postinstall node
    cz5424
        20
    cz5424  
       2020 年 1 月 5 日
    brew install node 发现没有 npm
    带有提示 brew postinstall node 失败
    brew postinstall node --debug
    看到 npm 目录报没有权限 => /usr/local/lib/node_modules/npm
    chown 授权
    brew postinstall node 成功
    cz5424
        21
    cz5424  
       2020 年 1 月 5 日
    ps: 现在的 brew 不允许 sudo 了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2820 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 90ms UTC 11:46 PVG 19:46 LAX 04:46 JFK 07:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86