2013-03-11 41 views
4

每當我捆綁我的Rails 3.2的寶石時,問我要我的密碼:別再問了密碼,安裝寶石

輸入密碼以安裝捆綁的RubyGems到系統

這得到真的很煩人,特別是在一個項目中捆綁多次時。但是,當我將gem目錄設置爲世界可讀時,它在執行任何(!)rails命令時總是給我一個警告。當然,這更令人討厭。

如何關閉此功能?

+0

你在運行什麼系統? Mac,Linux,...窗戶? – 2013-03-11 02:10:43

+0

Mac OS X 10.8.2 – weltschmerz 2013-03-11 02:13:49

+1

我在安裝RVM時並沒有遇到這些問題,因爲我正在編寫這個用戶。當你以root身份安裝(或者使用'sudo')時,他們比比皆是。 – bdares 2013-03-11 02:21:17

回答

3

絕對與系統紅寶石有關,而不是RVM,,除非您使用多用戶安裝類型安裝了RVM。如果你這樣做,其仍然要求你輸入密碼,然後您安裝爲根嚴格反對什麼上市文件指出,和你的普通用戶沒有添加到「RVM」組的安裝程序創建。 (注:這是基於你要一個多用戶安裝的想法,不是一個單一的用戶之一,如果你想在單用戶安裝,不前綴使用sudo當你運行安裝程序。)

撕裂了RVM,註銷,然後回(確保環境的完全新鮮重新初始化),然後重新運行安裝程序命令作爲普通用戶,而不是root,與「須藤」的文件指示前綴。

如果你不安裝RVM,然後按照文件在https://rvm.io安裝既可以作爲單個用戶安裝,或作爲多用戶安裝。在這種情況下,如果沒有安裝RVM,Billy Chan在上面描述的是您的修復方法,不過我會建議您通過確定需要定期運行哪一組命令(gem bin名稱)來收緊規則,添加sudoers文件中的條目(visudo)。

現在讀你想使用該系統的紅寶石,其中* RVM確實控制問題(它只是允許您通過設置適當的GEM_PATH訪問它,RUBY_ *環境變量等),或您的RVM多用戶安裝不正確。

+0

謝謝!我確實使用RVM,但不知道是否以root身份安裝。那是什麼意思?我如何知道? – weltschmerz 2013-03-12 04:44:44

+1

我正在使用rbenv,並且遇到此問題。 – 2013-10-21 00:07:57

0

最好的方法:使用RVM。使用RVM,您可以直接運行gem <any command>而不添加sudo

如果您不想使用RVM,仍然可以在命令之前添加sudo。你也可以設置爲防止sudo通過詢問密碼的所有命令:

$ sudo EDITOR=vim visudo 
# or any editor in your system 

然後,加入以下行

username ALL=(ALL) NOPASSWD: ALL 
# Where username must be replaced by your real username in system 

我知道這可能不是安全的編輯文檔,但它的方便在我自己的機器上使用。

你可以像我一樣使用上述兩種方法。

0

這取決於您是否要在系統或用戶下安裝寶石。如果在您當前的用戶下,您可以簡單地打開此消息並通過調整捆綁器配置來詢問。

在文件中添加.bundle/config線項目

BUNDLE_DISABLE_SHARED_GEMS: '1' 

所以整個配置文件可以像

--- 
BUNDLE_WITHOUT: development:test 
BUNDLE_DISABLE_SHARED_GEMS: '1' 
BUNDLE_PATH: /home/youruser/gems/ 
10
# install gem with the specified path 
bundle install --path vendor/bundle 
+1

這是唯一可以幫助已經使用正確用戶的人。謝了哥們! – 2013-11-25 02:10:08

0

我有這個問題與我的導軌安裝。一個快速的解決方法,這是跳過像這樣的項目創建過程中捆綁安裝:

rails new webapp -B 

然後你就可以這樣做:

cd webapp/ 
mkdir -p vendor/bundle 
bundle install --path vendor/bundle 

希望有所幫助將來的查詢。