Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过RVM安装Ruby时的不同搜索路径_Ruby_Rubygems_Puppet - Fatal编程技术网

通过RVM安装Ruby时的不同搜索路径

通过RVM安装Ruby时的不同搜索路径,ruby,rubygems,puppet,Ruby,Rubygems,Puppet,我正在和图书管理员一起使用木偶。Puppet通过系统的包管理器安装,Library Puppet通过Ruby gem安装。它只在我通过Debian的包管理器安装Ruby(1.9.3)时起作用。当我将RVM用于相同或其他版本(>=1.9.3)时,我从图书管理员那个里得到一个错误,说它找不到puppet。local.rb中的第4行需要“puppet”导致图书管理员出现问题。不推荐使用基于puppet gem的安装,我不想这样做。经过几个小时的调试,我发现Ruby的搜索路径在使用包管理器或RVM时有所

我正在和图书管理员一起使用木偶。Puppet通过系统的包管理器安装,Library Puppet通过Ruby gem安装。它只在我通过Debian的包管理器安装Ruby(1.9.3)时起作用。当我将RVM用于相同或其他版本(>=1.9.3)时,我从图书管理员那个里得到一个错误,说它找不到puppet。
local.rb中的第4行
需要“puppet”
导致图书管理员出现问题。不推荐使用基于puppet gem的安装,我不想这样做。经过几个小时的调试,我发现Ruby的搜索路径在使用包管理器或RVM时有所不同。将RVM与Ruby 2.1.2结合使用,我得到:

    /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0
    /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/x86_64-linux
    /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby
    /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/vendor_ruby/2.1.0
    /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/vendor_ruby/2.1.0/x86_64-linux
    /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/vendor_ruby
    /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0
    /usr/local/rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/x86_64-linux
puppet.rb
位于
/usr/lib/ruby/vendor\u ruby
。如果我通过Debian的包管理器安装Ruby,那么这个路径就是搜索路径的一部分

    /usr/local/lib/site_ruby
    ...
    /usr/lib/ruby/vendor_ruby

有没有不通过gem安装puppet的解决方案?

图书管理员puppet在使用git和path模块时需要puppet gem来解析依赖项的Modulefile。但不适用于Forge模块


如果您通过RVM安装
puppet
gem,我相信它不会干扰Debian包。