流浪者-安装Ruby Gems
运行vagrant provision时,不要在用户环境中安装ruby gems,而是在root用户环境中安装 这是我的流浪汉档案:流浪者-安装Ruby Gems,ruby,rubygems,vagrant,vagrantfile,Ruby,Rubygems,Vagrant,Vagrantfile,运行vagrant provision时,不要在用户环境中安装ruby gems,而是在root用户环境中安装 这是我的流浪汉档案: # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "scotch/box" config.vm.network "private_network", ip: "192.168.33.10" config.vm.hostname
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
# Optional NFS. Make sure to remove other synced_folder line too
#config.vm.synced_folder ".", "/var/www", :nfs => { :mount_options => ["dmode=777","fmode=666"] }
config.vm.provision "shell", path: "provision/install.sh"
config.vm.provision "shell", path: "provision/install-gems.sh"
end
以及install-gems.sh:
#!/usr/bin/env bash
echo "- install sass ..."
gem install sass
echo "- install sass done"
echo "- install compass ..."
gem install compass
echo "- install compass done"
echo "- install bootstrap-sass ..."
gem install bootstrap-sass
echo "- install bootstrap-sass done"
当我运行gem list
时,gem不会出现,但当我运行sudo gem list
时,它们会出现,这是我不想看到的
如何在非根模式下安装gems?尝试在vagant文件中添加privileged:false
,但由于特权而无法工作
谢谢 我相信下面的方法行得通 在你的流浪档案里
config.vm.provision "shell", path: "provision/install-gems.sh", privileged: false
通过特权问题
gem install --user-install ....
然后,gems将为您的用户安装,并在运行不起作用的
gem list
时可用,因为转到sudo环境,而不是用户环境。