美文网首页
wsl:ubuntu / linux 安装 nodejs ,np

wsl:ubuntu / linux 安装 nodejs ,np

作者: 黄同学2019 | 来源:发表于2020-06-06 18:03 被阅读0次

    快速预览:

    要在 linux 安装如下依赖,安装成功但是显示命令 not found

    • 安装 nodejs
    • 安装 npm
    • 安装 cnpm
    • 安装 http-server

    正文开始:

    因为买了新电脑,nodejs 等环境要重新装

    安装 nodejs 的时候遇到个问题,即,可以使用 apt 安装 nodejs,但是 npm 没有

    解决办法:

    # 下载
    wget https://nodejs.org/dist/v14.4.0/node-v14.4.0-linux-x64.tar.xz
    # 解压 到 local 文件夹
    tar -xf node-v14.4.0-linux-x64.tar.xz /usr/local
    
    # 进入 local,移动文件夹
    cd /usr/local/
    
    sudo mv node-v14.4.0-linux-x64/ nodejs
    
    # 建立连接
    
    sudo ln -s /usr/local/nodejs/bin/node /usr/local/bin
    
    # sudo ln -s /usr/local/nodejs/bin/npm /usr/local/bin
    
    # 测试
    
    node -v
    
    npm -v
    

    如果执行 npm -v 报错为 Cannot find module ‘semver’,则面的步骤重新来

    同样,cnpm 安装也是类似的方式:

    # 使用 npm 安装 cnpm
    
    npm install cnpm -g --registry=https://registry.npm.taobao.org  
    # 会显示安装路径 /usr/local/nodejs/bin/cnpm -> /usr/local/nodejs/lib/node_modules/cnpm/bin/cnpm
    
    # 建立软连接
    
    sudo ln -s /usr/local/nodejs/lib/node_modules/cnpm/bin/cnpm /usr/local/bin/cnpm
    
    # 测试
    
    cnpm -v
    # cnpm@6.1.1 (/usr/local/nodejs/lib/node_modules/cnpm/lib/parse_argv.js)
    
    

    同理,安装 http-server 也是一样的问题

    sudo npm install -g http-server
    # /usr/local/nodejs/bin/http-server -> /usr/local/nodejs/lib/node_modules/http-server/bin/http-server
    
    # 建立连接
    sudo ln -s /usr/local/nodejs/lib/node_modules/http-server/bin/http-server /usr/local/bin/http-server
    
    # 测试
    http-server
    
    

    其他:

    若执行 sudo xxx 命令报错

    sudo: xxx command not found
    

    则可能要排查 sudo 相关的问题,因为可能安装某个 xxx 依赖的时候没有使用 sudo ,但是执行的时候需要使用 sudo,从而导致系列问题

    以我遇到的问题为例,解决办法

    # 安装 tarojs
    cnpm install -g @tarojs/cli
    
    # taro 创建项目
    
    taro init demo
    
    # 报错为 permission denied,所以我加上 sudo
    
    sudo taro init demo
    
    # 报错为 sudo: taro command not found
    
    # 解决办法:
    
    # 找到 taro 的位置
    
    which taro
    
    # /usr/local/nodejs/bin/taro
    
    # 编辑 /etc/sudoers
    sudo vi /etc/sudoers
    
    # 找到 secure_path 在最后加上 :/usr/local/nodejs/bin
    
    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
    
    # 结果为
    
    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/nodejs/bin"
    
    # 验证是否成功
    
    # 关掉 bash 再次打开
    
    # 执行
    
    sudo taro init demo
    
    # 没有报 permission 错误,创建模板成功
    

    参考资料:

    相关文章

      网友评论

          本文标题:wsl:ubuntu / linux 安装 nodejs ,np

          本文链接:https://www.haomeiwen.com/subject/xnhftktx.html