我习惯于能够在 ruby 中的字符串中传递变量,就像这样
"message in double quotes #{expression_or_variable_to_run}"
Run Code Online (Sandbox Code Playgroud)
bash 中的等价物是什么,用于真正快速编写脚本?
我的服务器运行使用 aptitude 安装的 Ubuntu Hardy 和 Ruby 1.8.6。我想升级到 Ruby 1.8.7,但不幸的是,Ruby 包包含从 Ubuntu Intrepid 开始的 Ruby 1.8.7。
我阅读了一些关于如何升级到 Ruby 1.8.7 的教程,我发现至少有 3 种不同的方法来完成这项任务:
我有点困惑。考虑到我不需要在同一台服务器上安装多个 Ruby 版本,您如何建议升级到 Ruby 1.8.7?我想用 Ruby 1.8.7 彻底替换现有的 Ruby 1.8.6。
sudo yum install ruby
Run Code Online (Sandbox Code Playgroud)
我在 Amazon EC2 AMI 上执行了此操作,但仍然找不到“rake”命令。它不是这个安装的一部分吗?
我正在尝试在带有 cPanel 的服务器上升级 ruby 和 rails gem,为此我安装了 rvm 并成功安装了不同版本的 ruby ......很棒的东西!
但是有一个问题,服务器似乎忽略了要使用的 gemset。安装 1.9.2 的新副本后,我仍然得到相同的 gem 列表,并且 GEM_PATH/GEMHOME 是相同的:
$>gem env
RubyGems Environment:
– RUBYGEMS VERSION: 1.8.15
– RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-linux]
– INSTALLATION DIRECTORY: /home/ruby/ruby/gems
– RUBY EXECUTABLE: /home/ruby/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
– EXECUTABLE DIRECTORY: /home/ruby/ruby/gems/bin
– RUBYGEMS PLATFORMS:
– ruby
– x86_64-linux
– GEM PATHS:
– /home/ruby/ruby/gems
– GEM CONFIGURATION:
– :update_sources => true
– :verbose => true
– :benchmark => false
– :backtrace => false
– :bulk_threshold …Run Code Online (Sandbox Code Playgroud) 我不是一个 Ruby 人,但找到了如何列出 Ruby 加载路径。这就是我的样子
$ ruby -e 'puts $:'
/usr/lib/ruby/site_ruby/1.8
/usr/lib64/ruby/site_ruby/1.8
/usr/lib64/ruby/site_ruby/1.8/x86_64-linux
/usr/lib/ruby/site_ruby
/usr/lib64/ruby/site_ruby
/usr/lib64/site_ruby/1.8
/usr/lib64/site_ruby/1.8/x86_64-linux
/usr/lib64/site_ruby
/usr/lib/ruby/1.8
/usr/lib64/ruby/1.8
/usr/lib64/ruby/1.8/x86_64-linux
Run Code Online (Sandbox Code Playgroud)
其中一些目录甚至不存在,坦率地说,我认为自定义事实.rb文件最好放置在 Puppet-ish 位置,例如/etc/puppet/facts或类似位置。
我应该使用现有的加载路径位置之一还是为了 Puppet 的目的创建一个新的?
我似乎无法开始gem install charlock_holmes -v 0.6.9.4工作。
我可以手动编辑./ext/charlock_holmes/extconf.rb并包括
$INCFLAGS << " -I/usr/local/include "
$LDFLAGS << " -L/usr/local/lib "
Run Code Online (Sandbox Code Playgroud)
make干净地执行并通过重写规范文件
gem spec ../../cache/charlock_holmes-0.6.9.4.gem --ruby > ../../specifications/charlock_holmes-0.6.9.4.gemspec
Run Code Online (Sandbox Code Playgroud)
并使其成为当地的瑰宝。
CPPFLAGS和LDFLAGS到 gem 安装。有人知道如何通过 Amazon SDK 将多个弹性 IP 关联到单个实例吗?在 Ruby 中,我尝试使用 aws-sdk 和雾 gem,它们对于单个地址工作正常,但在尝试分配多个地址时出错。
通过 Web UI,这可以通过添加额外的私有 ip,然后将公共 ip 分配给网络接口 + 私有 ip 来完成,但是我在 SDK 中没有任何私有 ip 参数。
在研究 Unicorn 配置选项时,我遇到了这个片段..
GC.respond_to?(:copy_on_write_friendly=) and
GC.copy_on_write_friendly = true
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,它优化了 Unicorn 如何处理工人之间的内存分配和资源共享?
我使用 Unicorn 在带有 Ruby 1.9.3 的服务器上为我的 Sinatra 应用程序提供支持。在我的独角兽配置中包含copy_on_write_friendly设置有什么缺点吗?
从一台服务器移动到另一台服务器时,我遇到了 redmine(或 ruby 配置)的问题
redmine@dirty:~/www$ ruby script/rails server webrick -e production
/usr/local/rvm/gems/ruby-2.0.0-p353/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `require': Incorrect MySQL client library version! This gem was compiled for 5.5.17 but the client library is 5.1.59. (RuntimeError)
from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:76:in `require'
from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:72:in `each'
from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:72:in `block in require'
from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:61:in `each'
from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:61:in `require'
from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler.rb:131:in `require'
from /home/redmine/redmine-2.4/config/application.rb:7:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:53:in `require'
from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:53:in `block in <top (required)>'
from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:50:in `tap'
from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:50:in …Run Code Online (Sandbox Code Playgroud) 我正在用 ruby 实现,但是当我想保存我的工作时,我得到了
"Opening output file: no space left on device, /afs/edu/usr7/ael/p\
rivate/RUBY/inc.rb"
Run Code Online (Sandbox Code Playgroud)
当我使用 df -h 检查是否有任何空间时,出现了以下内容:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv_root
55G 21G 32G 39% /
tmpfs 1.9G 36K 1.9G 1% /dev/shm
/dev/sda1 485M 60M 400M 14% /boot
AFS 8.6G 0 8.6G 0% /afs
Run Code Online (Sandbox Code Playgroud)
好像我确实有空间,但我不知道为什么我不能保存。这里的问题似乎是什么?
df -i 显示:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg1-lv_root
3645440 571814 3073626 16% /
tmpfs 490631 3 490628 1% /dev/shm
/dev/sda1 128016 45 127971 1% /boot
AFS 9000000 0 …Run Code Online (Sandbox Code Playgroud)