在WSL中安装yarn和npm

Sof*_*mur 5 npm windows-subsystem-for-linux yarnpkg

我已经在 Windows 10 上安装了 Windows Subsystem for Linux (WSL) 和 Ubuntu 16.04。然后我按照以下步骤安装了纱线:

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
Run Code Online (Sandbox Code Playgroud)

它没有引发任何错误。然而yarn --version归来

$ yarn --version
/mnt/c/Users/chengtie/AppData/Roaming/npm/yarn: 12: /mnt/c/Users/chengtie/AppData/Roaming/npm/yarn: node: not found
Run Code Online (Sandbox Code Playgroud)

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")
Run Code Online (Sandbox Code Playgroud)

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

Car*_*rez 7

看这个:

/mnt/c/Users/chengtie/AppData/Roaming/npm/yarn: 12
Run Code Online (Sandbox Code Playgroud)

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

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

WIN_YARN_PATH="$(dirname "$(command -v yarn)")"
export PATH="$(echo "${PATH}" | sed -e "s#${WIN_YARN_PATH}##")"
Run Code Online (Sandbox Code Playgroud)

您可以将其添加到您的 .bashrc

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


Mou*_*uki 5

您需要输入:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
Run Code Online (Sandbox Code Playgroud)

然后:

sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)