2

当我需要从我的 linux 用户“user1”运行脚本时,我执行以下命令(在使用“user1”登录后立即执行):

rvm use 1.9.3
cd /var/proj
ruby main.rb

在开发这个脚本时,我创建了一个包含 的包bundle install,读取我的 Gemfile(包含 httparty 和其他东西)。

这工作正常(没有理由不起作用:))

当我使用另一个用户“user2”登录时,我想执行脚本但不能让它工作:

cd /var/proj
/home/user1/.rvm/rubies/ruby-1.9.3-p327/bin/ruby main.rb

我得到的错误:

/home/user1/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- httparty (LoadError)
from /home/user1/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from main.rb:3:in `<main>'

它似乎看不到其他用户创建的包。知道需要改变什么吗?

我想在主管中运行这个脚本,但这是一回事。

4

1 回答 1

0

不建议这样做,但您可以使用其他 a/c 的 RVM。只需rvm在另一个用户 a/c 中设置所需的路径。

详细说明:

首先去user1并按照这个步骤

  rvm use 1.9.3
  echo $PATH

现在复制包含rvmword 的路径,在我的情况下是

/home/paritosh/.rvm/gems/ruby-1.9.3-p194/bin:/home/paritosh/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/paritosh/.rvm/rubies/ruby-1.9.3-p194/bin:/home/paritosh/.rvm/bin 

现在去另一个user2空调和使用PATH=copied_path:$PATH所以在我的情况下

PATH=/home/paritosh/.rvm/gems/ruby-1.9.3-p194/bin:/home/paritosh/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/paritosh/.rvm/rubies/ruby-1.9.3-p194/bin:/home/paritosh/.rvm/bin:$PATH

现在去

 cd /var/proj 
 ruby main.rb

顺便说一句,如果您想让路径永久化,请放入a PATH/ c 。~/.bashrcuser2

于 2013-05-04T20:09:09.550 回答