【问题标题】:Install yarn and npm in WSL在 WSL 中安装 yarn 和 npm
【发布时间】:2020-06-14 00:18:56
【问题描述】:

我已经在我的 Windows 10 上安装了 Windows Subsystem for Linux (WSL) 和 Ubuntu 16.04。然后我跟着 this 安装了 yarn:

sudo apt update
sudo apt install curl
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn

它没有引发任何错误。但是,yarn --version 却返回了

$ yarn --version
/mnt/c/Users/chengtie/AppData/Roaming/npm/yarn: 12: /mnt/c/Users/chengtie/AppData/Roaming/npm/yarn: node: not found

npm --version 返回

$ npm --version
: not foundram Files/nodejs/npm: 3: /mnt/c/Program Files/nodejs/npm:
: not foundram Files/nodejs/npm: 5: /mnt/c/Program Files/nodejs/npm:
/mnt/c/Program Files/nodejs/npm: 6: /mnt/c/Program Files/nodejs/npm: Syntax error: word unexpected (expecting "in")

有谁知道如何解决这个问题?

【问题讨论】:

    标签: npm yarnpkg windows-subsystem-for-linux


    【解决方案1】:

    看看这个:

    /mnt/c/Users/chengtie/AppData/Roaming/npm/yarn: 12
    

    它正在寻找安装在 Windows 上的 yarn。您必须或从 Windows 卸载 yarn 或将其从 WSL 的 PATH 中删除。

    使用以下命令从 PATH 中删除 windows 纱线:

    WIN_YARN_PATH="\$(dirname "\$(which yarn)")"
    export PATH=\$(echo "\${PATH}" | sed -e "s#\${WIN_YARN_PATH}##")
    

    你可以把它添加到你的 .bashrc 中

    另外,查看您的错误消息,它也从 Windows 获取 npm,您需要使用相同的技术将它们从路径中删除。

    【讨论】:

      【解决方案2】:

      必须先安装nodejs

      sudo apt-get install nodejs
      

      【讨论】:

      • 我做到了。 nodejs --version 返回v4.2.6
      • @SoftTimur 也许你可以尝试用sudo npm install -g yarn安装yarn
      • sudo npm install -g yarn 返回sudo: npm: command not found
      • 两种可能,您可以使用sudo apt-get install npm 安装npm,或者您可以确保您的环境变量$PATH 与您的linux bin 目录相关联
      • 确实,我需要两个都做:sudo apt-get install npm,并从$PATH删除Windows中的npm和nodejs
      【解决方案3】:

      如果你安装了最新的 nodejs 版本:

      我遇到了同样的问题,通过尝试sudo npm -v 解决了这个问题,为了在不使用 sudo 的情况下获取 npm,我重新启动了 WSL。

      如果你没有最新的nodejs版本:

      如果你在 WSL 上,你可以安装最新的稳定版本

      curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

      对于版本 16(包括 npm),您可以保留 setup_16.x 代替 setup_8.x

      sudo apt-get install nodejs

      通过nodejs -v检查nodejs版本。 通过npm -v检查 npm 版本。

      如果仍然是相同的错误代码。尝试sudo npm -v 或重启PC/WSL 然后尝试npm -v

      【讨论】:

        【解决方案4】:

        您需要输入:

        curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
        

        然后:

        sudo apt-get install -y nodejs
        

        【讨论】:

          猜你喜欢
          • 2020-04-08
          • 2019-07-11
          • 1970-01-01
          • 2020-07-31
          • 2022-11-25
          • 2021-08-27
          • 2020-10-17
          • 1970-01-01
          • 2022-12-14
          相关资源
          最近更新 更多