Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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
Ruby on rails rbenv:从RVM移动到rbenv后,在Jenkins execute shell中找不到命令_Ruby On Rails_Ruby_Jenkins_Rbenv - Fatal编程技术网

Ruby on rails rbenv:从RVM移动到rbenv后,在Jenkins execute shell中找不到命令

Ruby on rails rbenv:从RVM移动到rbenv后,在Jenkins execute shell中找不到命令,ruby-on-rails,ruby,jenkins,rbenv,Ruby On Rails,Ruby,Jenkins,Rbenv,我从Ubuntu服务器上的RVM迁移到rbenv 当我使用RVM时,使用bundle没有问题。在移动到rbenv之后,我在Jenkins的executeshell中发现了一个“commandnotfound”错误 我内爆并移除了RVM,从~/.bashrc'中移除了所有与RVM相关的行。使用以下命令后,我仍然会出现此错误: rvm implode rm ~/.rvm -rf rm ~/.rvmrc gem install bundler echo 'export PATH="$HOME/.r

我从Ubuntu服务器上的RVM迁移到rbenv

当我使用RVM时,使用bundle没有问题。在移动到rbenv之后,我在Jenkins的executeshell中发现了一个“commandnotfound”错误

我内爆并移除了RVM,从~/.bashrc'中移除了所有与RVM相关的行。使用以下命令后,我仍然会出现此错误:

rvm implode
rm ~/.rvm -rf
rm ~/.rvmrc 

gem install bundler
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

. ~/.bashrc

rbenv versions

jenkins@testserver:~/jobs/myjob/workspace$ rbenv versions

* 1.9.3-p374 (set by RBENV_VERSION environment variable)

您似乎已经在shell中正确安装了rbenv。但是,如果Jenkins没有同时为您的
~/.bashrc
提供源代码,它将不会意识到您的系统上有rbenv。因此,在Jenkins中,您必须确保执行命令的路径还包括
$HOME/.rbenv/bin
$HOME/.rbenv/chimes


在Jenkins中不需要使用
eval“$(rbenv init-”
;这只对交互式Shell有用。

@mislav的答案可能是正确的,但实际上对我有用的是:

sh '''
#!/bin/bash
export PATH=$PATH:/usr/local/bin:$HOME/.rbenv/bin:$HOME/.rbenv/shims
eval "$(rbenv init -)"
rbenv local
rbenv rehash
'''

事实上,我没有将rbenv视为
/usr/local/bin
不在我的
$PATH

中,我们正在执行以下操作

sh '''
#!/bin/bash
source ~/buildmac-init

bundle update
bundle exec fastlane build
'''
在此
buildmac init
文件中(除其他变量外):

...
export RBENV_ROOT=/usr/local/var/rbenv
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
...