Windows10已安装Ruby on Rails但WSL Ubuntu无法识别该安装的解决方法
解决WSL Ubuntu无法识别Windows Ruby/Rails的问题
这问题我之前帮朋友排查过,本质是WSL和Windows是完全独立的运行环境——你在Windows上装的Ruby、Rails这些工具,WSL的Linux系统根本“看不到”,所以才会抛出ruby: bad interpreter: No such file or directory的错误。
解决思路很直接:在WSL的Ubuntu环境里单独安装一套Ruby、Rails相关工具就行,具体步骤如下:
1. 先更新Ubuntu软件源
打开WSL终端,先把系统包列表更到最新,避免安装时出问题:
sudo apt update && sudo apt upgrade -y
2. 安装Ruby依赖库
Ruby编译安装需要一些基础依赖,先把它们装全:
sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libncurses5-dev libffi-dev libgdbm-dev -y
3. 安装Ruby(推荐用rbenv版本管理)
直接用apt装的Ruby版本通常偏旧,推荐用rbenv来管理Ruby版本,灵活度更高:
- 安装rbenv工具:
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
- 配置环境变量,让终端能识别rbenv命令:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc
- 让配置立即生效(或者直接重启终端):
source ~/.bashrc
- 安装你需要的Ruby版本(比如3.2.2,可替换成自己需要的版本):
rbenv install 3.2.2
- 设置全局默认Ruby版本:
rbenv global 3.2.2
- 验证安装结果:
ruby -v
能输出你安装的版本号就说明成功了。
4. 安装Rails
Ruby装好后,直接用gem安装Rails:
gem install rails
- 执行下面的命令让rbenv识别新安装的rails命令:
rbenv rehash
- 验证Rails版本:
rails -v
这时候应该就能正常显示版本信息了。
5. 安装Node.js和Yarn
Rails的前端构建需要Node和Yarn,在WSL里也得单独装:
- 安装Node.js(用NodeSource源获取最新稳定版):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs
- 安装Yarn:
npm install -g yarn
最后提个小建议:WSL里的项目文件最好放在WSL自身的文件系统里(比如~/projects目录),别放在Windows的盘符(比如/mnt/c/)里,不然不仅性能会打折扣,还容易碰到权限问题。
内容的提问来源于stack exchange,提问作者emrhnksck
相关产品推荐
相关产品推荐

