rbenv文档指出,如果您不使用bundler,可以使用gemsets插件对您的gem进行沙盒化:
Manage gemsets. Bundler is a better way to manage application dependencies. If you have projects that are not yet using Bundler you can install the rbenv-gemset plugin.
Run Code Online (Sandbox Code Playgroud)
但是,我正在使用bundler,当我在具有不同gemsets的项目之间切换时,我需要重新捆绑.当我使用rvm时,由于.gemsets文件,这很简单.
捆绑器中是否有沙盒功能,我不知道或者我误解了文档?
问题:我安装了ruby,但无法正确识别. 我正在关注部署到VPS:https://github.com/railscasts/335-deploying-to-a-vps
我在ubuntu 12.04 LTS上设置我的服务器来部署我的rails应用程序.我正在跟踪部署到VPS的railscast,并试图通过rbenv安装ruby.似乎一切都安装正确,但当我试图检查ruby版本时,它给了我错误.以下是我运行的命令.
deployer@max:~$ rbenv install 1.9.3-p125
Downloading yaml-0.1.4.tar.gz...
-> http://cloud.github.com/downloads/sstephenson/ruby-build-download-mirror/36c852831d02cf90508c29852361d01b
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /home/deployer/.rbenv/versions/1.9.3-p125
Downloading ruby-1.9.3-p125.tar.gz...
-> http://cloud.github.com/downloads/sstephenson/ruby-build-download-mirror/e3ea86b9d3fc2d3ec867f66969ae3b92
Installing ruby-1.9.3-p125...
Installed ruby-1.9.3-p125 to /home/deployer/.rbenv/versions/1.9.3-p125
Downloading rubygems-1.8.23.tar.gz...
-> http://cloud.github.com/downloads/sstephenson/ruby-build-download-mirror/178b0ebae78dbb46963c51ad29bb6bd9
Installing rubygems-1.8.23...
Installed rubygems-1.8.23 to /home/deployer/.rbenv/versions/1.9.3-p125
deployer@max:~$ rbenv global 1.9.3-p125
deployer@max:~$ ruby -v
'ruby' program can be found in the following packages:
* ruby1.8
* ruby1.9.1
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我尝试使用rbenv安装rails,但没有成功.然后我卸载了rbenv并用rvm安装了rails.现在,每当我打开终端窗口时,我都会得到以下内容
Last login: Wed Jul 17 21:59:43 on ttys001
-bash: rbenv: command not found
-bash: rbenv: command not found
name-Mac-mini:~ name$
Run Code Online (Sandbox Code Playgroud)
当我使用自制软件卸载时,我得到了
$ brew uninstall rbenv
Error: No such keg: /usr/local/Cellar/rbenv
Run Code Online (Sandbox Code Playgroud)
我有运行Mountain Lion 10.8.4的mac-mini.关于如何解决这个问题的任何想法?
我正在尝试在我的ubuntu 14.04上使用rbenv安装ruby 2.1.1.我使用了以下命令.
curl -fsSL https://gist.github.com/mislav/a18b9d7f0dc5b9efc162.txt | rbenv install --patch 2.1.1
Run Code Online (Sandbox Code Playgroud)
但几分钟后它停止响应,我得到如下输出.
Downloading ruby-2.1.1.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/e57fdbb8ed56e70c43f39c79da1654b2
Installing ruby-2.1.1...
patching file ext/readline/readline.c
patching file ext/readline/extconf.rb
patching file ext/readline/extconf.rb
Run Code Online (Sandbox Code Playgroud)
之后,它停止响应,会出现什么问题?
我正在使用Rails 4.2,也想使用rbenv更新我的Ruby版本。
我使用Homebrew来安装ruby-build,无论我尝试通过多少次更新brew,运行时Ruby 2.1.3版都不会显示rbenv install --list。
我想在 Docker 上安装 rbenv,它似乎可以工作,但我无法重新加载 shell。
FROM node:0.10.32-slim
RUN \
apt-get update \
&& apt-get install -y sudo
RUN \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \
&& groupadd r \
&& useradd r -m -g r -g sudo
USER r
RUN \
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv \
&& echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc \
&& echo 'eval "$(rbenv init -)"' >> ~/.bashrc
RUN rbenv # check if it works...
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我得到:
docker build .
..
Step 5 : RUN rbenv
/bin/sh: …Run Code Online (Sandbox Code Playgroud) 这是错误日志
Downloading ruby-2.2.0.tar.gz... -> http://dqw8nmjcqpjn7.cloudfront.net/7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc
Installing ruby-2.2.0...
BUILD FAILED (Ubuntu 14.04 using ruby-build 20141225-7-g4aeeac2)
Inspect or clean up the working tree at /tmp/ruby-build.20150106233051.25615 Results logged to /tmp/ruby-build.20150106233051.25615.log
Last 10 log lines:
compiling ossl_x509store.c
compiling ossl_engine.c
compiling ossl_ocsp.c
compiling ossl_config.c
compiling ossl_digest.c
installing default openssl libraries
linking shared-object openssl.so
make[2]: Leaving directory /tmp/ruby-build.20150106233051.25615/ruby-2.2.0/ext/openssl'
make[1]: Leaving directory/tmp/ruby-build.20150106233051.25615/ruby-2.2.0'
make: *** [build-ext] Error 2
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做.我尝试了这个但是当我输入ruby -v它时仍然告诉我我有旧版本.
sudo apt-get install autoconf bison libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
Run Code Online (Sandbox Code Playgroud)
感谢您给予的任何评论,非常感谢.
我的Rails(4.2)应用程序通过Ubuntu(14.02)系统上的Passenger(5.0.28)+ Apache(2.4.7)运行,使用rbenv管理的ruby(2.3.0)。我使用Capistrano(3.4.0)进行部署。
我所有的环境变量都在一个非常简单的profile.d脚本中设置。
#!/bin/sh
export VAR1=VAL1
export VAR2=VAL2
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力。我的应用程序ENV具有所有正确的变量,Secrets.yml并已正确填充...除了通过ssh与Capistrano进行部署外,其他所有功能均正常运行。
在我的deploy.rb书中,我认为以下内容是相对的:
set :ssh_options, {
forward_agent: true,
paranoid: true,
keys: "~/.ssh/id_rsa.pub"
}
Run Code Online (Sandbox Code Playgroud)
Capistrano文档非常有限,并且ssh \ server配置不是我的强项,我似乎无法弄清楚为什么ENVCapistrano无法看到我的变量。如果我puts ENV.inspect在部署流程中运行,则会得到诸如"TERM_PROGRAM"=>"Apple_Terminal"本地机器用户信息之类的信息。Capistrano为什么不使用远程环境?如何在服务器端或在部署脚本中修改配置以解决此问题?
谢谢您的帮助。
您可能认为这是一个经典的“全局”命令问题,但事实并非如此。
我可以通过以下方式全局设置红宝石:
rbenv global 2.5.1
Run Code Online (Sandbox Code Playgroud)
但是,这使得ruby2.5.1对于所有用户都是全局的,但对于整个系统而言则不是。当同一服务器中的应用程序要调用ruby或access / pipe ruby时,它们会command not found出错。
我认为,我们应该有安装或符号链接/usr/bin或/usr/local/bin什么的...
我找不到与此有关的任何内容。如何使选定的红宝石版本可供其他应用程序查看?
我唯一的解决方案是将ruby自己构建到系统目录,但这将与rbenv冲突。
例子:
解决方法:
将/root/.rbenv/shims文件夹添加到$PATH执行的脚本中可以按预期工作,但是在某些情况下,无法直接进行修改$PATH。我在这里有什么选择?
在我的 rails 项目中,当我尝试运行时bundle install,出现以下错误:
Your Ruby version is 2.3.7, but your Gemfile specified 2.5.3
但是,当我运行时,ruby --version我得到:
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18]
...跑步rbenv version给了我:
2.5.3 (set by /Users/jamesmulholland/proj/repo-name/.ruby-version)
是什么导致此处使用了错误的 Ruby 版本,我该如何解决?
跑步rbenv versions给出:
system
2.5.3 (set by /Users/jamesmulholland/proj/repo-name/.ruby-version)`
这个问题发生在从 Ruby 2.5.1 到 Ruby 2.5.3 的迁移过程中。同时,我从 rvm 转移到了 rbenv。我怀疑我可能在运行时错误地卸载了 rvmrm -rf ~/.rvm而不是rvm implode但它/etc/rbenv/是空的并且运行rvm命令失败。rvm已从我的.zshrc. 当我在使用这种卸载 rvm 的方法后继续遇到此问题时,我重新安装了 rvm 并使用该rvm implode …