2014-11-20 55 views
0

我需要運行下面的Ubuntu的bash腳本爲「命令」安裝寶石(僅供參考,這是因爲我通過新貴運行它):sudo訪問到Rails從GitHub

cd /u/apps/MyRailsApp/current && /usr/bin/env RAILS_ENV=production script/delayed_job restart >> /var/log/upstart/delayed_job.log 

然而,當我運行它爲「sudo」,我得到以下錯誤:

/var/lib/gems/1.9.1/gems/bundler-1.7.6/lib/bundler/source/git.rb:188:in rescue in load_spec_files': [email protected]:MyRemoteRepo/my_gem.git (at 1.0.1) is not yet checked out. Run首先安裝捆綁軟件。 (Bundler :: GitError)

不建議運行「bundle install」作爲Sudo。當我作爲非管理員用戶運行「軟件包安裝」時,它正在運行,並且所有的寶石都被識別。如何讓root用戶識別寶石?

該寶石位於/home/ubuntu/.bundler/ruby/1.9.1/。我的其他寶石在/var/lib/gems/1.9.1/gems/

非常感謝您的幫助。

回答

0

嘗試添加「source /home/[username]/.bashrc」,其中[username]是可以成功運行腳本的非管理員用戶。

+0

我不認爲這有效,因爲Upstart腳本只能由admin「sudo」用戶運行。 – 2014-11-20 17:19:56