0

一直以来,当我执行 agit clone https://github.com/[REPO_NAME]然后cd进入 repo 并运行时,bundle install我得到

Gem::Ext::BuildError: 错误: 无法构建 gem 原生扩展。

/Users/name/.rvm/rubies/ruby-2.1.3/bin/ruby extconf.rb 

* extconf.rb 失败 *由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。检查 mkmf.log 文件以获取更多详细信息。您可能需要配置选项。

大多数情况下,这与安装时发生的错误有关eventmachine

否则,我创建的所有 rails 应用程序都可以在本地运行而没有问题,当我尝试在本地运行 git cloned app 时它不起作用

我很困惑,我试图更改我的 ruby​​ 版本,更新 xcode 并重置 gemfile.lock 我只是不知道我的本地环境有什么问题。

请我需要一些光,因为我应该研究什么?当我尝试在本地运行不是由我创建但它是 git 克隆的应用程序的应用程序时,我应该检查什么以使 gem 依赖项工作?

非常感谢所有善良的贡献者。

更新:

rvm -v:

rvm 1.26.10 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

rvm列表:

rvm rubies

   ruby-2.1.2 [ x86_64 ]
=* ruby-2.1.3 [ x86_64 ]
   ruby-2.1.5 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

哪个红宝石:

/Users/name/.rvm/rubies/ruby-2.1.3/bin/ruby

冲泡-v:

Homebrew 0.9.5

酿造医生:

otool: error: unable to find utility "otool", not a developer tool or in PATH
Error: Failure while executing: /usr/bin/otool -L /usr/bin/install_name_tool
4

2 回答 2

1

我不确定这是否能准确回答您的问题。但它肯定会帮助你。所以,请试一试,看看问题是否仍然存在。

Step 1: rvm use ruby-version # switch to specific ruby 
Step 2: rvm gemset create r4.2 # Create new gemset. Give name based on rails version. It will help you keep track of ruby and rails version together. 

rvm use然后您可以使用命令切换到特定的 ruby​​ gemset 。

Step 3: rvm use ruby-version@r4.2

现在做捆绑安装。您的项目将拥有单独的包装器。

现在添加两个新文件.ruby-version.ruby-gemset在您的项目存储库中,以避免rvm use每次cd在目录中输入。

Content of `.ruby-version`:   
ruby-2.2.0 # ruby version respective to your project

Content of `.ruby-gemset`:  
r4.2 # gemset name 

所以,现在只要你cd到你的项目目录。它将自动切换到相应的 ruby​​ 版本和 rails 版本。因此,您可以通过这种方式避免冲突。并且做bundle install

.gitignore注意:如果您不想提交,请将这两个文件添加到文件中。

于 2015-03-26T20:36:08.583 回答
0

你能给我看一些清单吗?转到'终端'运行'rvm -v'运行'rvm list'运行'which ruby​​'运行'brew -v'运行'brew医生'

于 2015-03-26T01:18:33.170 回答