簡體   English   中英

Vagrant - 安裝Ruby Gems

[英]Vagrant - Install Ruby Gems

運行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 = "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 ,寶石不會出現,但是當我運行sudo gem list ,他們會這樣做,我不想這樣做。

我如何在vagrant中以非root方式安裝gem? 嘗試在vagant文件中添加privileged: false ,但由於特權而無法工作。

謝謝!

我相信以下工作

在您的Vagrant文​​件中

config.vm.provision "shell", path: "provision/install-gems.sh", privileged: false

傳遞特權問題

gem install --user-install ....

然后寶石將為您的用戶安裝,並在運行gem list時可用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM