• @lithium4010 不能,直接在用户目录下 git clone 一个项目 bundle install 都失败了,同样的错误

  • @lithium4010 在 mkmf.log 里到check for rb_big_cmp(), 后面就没有了

    下面是文件的最后

    have_func: checking for rb_big_cmp()... -------------------- yes
    
    "gcc -o conftest -I/home/x'x'x/.rvm/rubies/ruby-2.2.5/include/ruby-2.2.0/x86_64-linux -I/home/xxx/.rvm/rubies/ruby-2.2.5/include/ruby-2.2.0/ruby/backward -I/home/xxx/.rvm/rubies/ruby-2.2.5/include/ruby-2.2.0 -I.     -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -fPIC conftest.c  -L. -L/home/xxx/.rvm/rubies/ruby-2.2.5/lib -Wl,-R/home/xxx/.rvm/rubies/ruby-2.2.5/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic     -Wl,-rpath,'/../lib' -Wl,-R'/../lib' -lruby  -lpthread -lrt -ldl -lcrypt -lm   -lc"
    checked program was:
    /* begin */
     1: #include "ruby.h"
     2:
     3: /*top*/
     4: extern int t(void);
     5: int main(int argc, char **argv)
     6: {
     7:   if (argc > 1000000) {
     8:     printf("%p", &t);
     9:   }
    10:
    11:   return 0;
    12: }
    13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_big_cmp; return 0; }
    /* end */
    
    --------------------
    
  • Hi @Rei 今天我又仔细找了找这个问题的原因,发现了两个事儿,一个是无论是否用 rvm,ruby 2.2.5 下的 include 目录下都会是 ruby2.2.0,这个之前还真没注意过,真是吃一堑长一智啊,有机会一定好好看看这里... 另外,以上的这个问题我试了 N 种情况,最后发现是 bundle install 的问题。凡是直接 bundle install 的话,就会报这个Cannot execute mysql_config at /etc/my.cnf的错误导致mysql2安装失败。但是如果直接gem install mysql2 -v '0.4.9'的话,则会安装成功。不知道这个问题 @Rei 你知道是什么情况吗

  • Hi @midwinter , 首先非常感谢关注。 这个 rvm 的配置我已经加上了,在 remote_environment 里,而且我在incoke :'bundle:install'之前曾经试过用 command 打印 ruby 的版本等,可以确认 rvm 的设置已经生效

  • @Rei 好的,多谢!我会考虑你的意见😀

  • Rails 3.2.17 下遇到的一个坑 at 2015年02月10日

    把这里的配置文件修改下试试 config/secrets.yml 执行 rake secret 获取 secret_key_base