在 WSL 中安装 yarn 和 npm
Install yarn and npm in WSL
我已经在 Windows 10 上为 Linux (WSL) 和 Ubuntu 16.04 安装了 Windows 子系统。然后我按照 this 安装纱线:
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")
有人知道如何解决这个问题吗?
必须先安装nodejs
sudo apt-get install nodejs
看看这个:
/mnt/c/Users/chengtie/AppData/Roaming/npm/yarn: 12
它正在寻找 Windows 上安装的纱线。您必须从 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,您需要使用相同的技术将它们从路径中删除。
如果您安装了最新的 nodejs 版本:
我遇到了同样的问题,并通过尝试 sudo npm -v
解决了这个问题,为了在没有 sudo 的情况下获取 npm,我 重新启动 了 WSL。
如果你没有最新的nodejs版本:
如果你使用的是WSL,你可以通过
安装最新稳定版
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
代替 setup_8.x
,您可以为版本 16(包括 npm)保留 setup_16.x
。
sudo apt-get install nodejs
通过 nodejs -v
检查 nodejs 版本。
通过 npm -v
.
检查 npm 版本
如果还是一样的错误代码。尝试 sudo npm -v
或重启 PC/WSL 然后尝试 npm -v
.
您需要输入:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
然后:
sudo apt-get install -y nodejs
我已经在 Windows 10 上为 Linux (WSL) 和 Ubuntu 16.04 安装了 Windows 子系统。然后我按照 this 安装纱线:
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")
有人知道如何解决这个问题吗?
必须先安装nodejs
sudo apt-get install nodejs
看看这个:
/mnt/c/Users/chengtie/AppData/Roaming/npm/yarn: 12
它正在寻找 Windows 上安装的纱线。您必须从 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,您需要使用相同的技术将它们从路径中删除。
如果您安装了最新的 nodejs 版本:
我遇到了同样的问题,并通过尝试 sudo npm -v
解决了这个问题,为了在没有 sudo 的情况下获取 npm,我 重新启动 了 WSL。
如果你没有最新的nodejs版本:
如果你使用的是WSL,你可以通过
安装最新稳定版curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
代替 setup_8.x
,您可以为版本 16(包括 npm)保留 setup_16.x
。
sudo apt-get install nodejs
通过 nodejs -v
检查 nodejs 版本。
通过 npm -v
.
如果还是一样的错误代码。尝试 sudo npm -v
或重启 PC/WSL 然后尝试 npm -v
.
您需要输入:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
然后:
sudo apt-get install -y nodejs