0

所以我和我的一个朋友搞乱了宝石,我不小心删除了一个。我不知道发生了什么,所以我只是把它刷掉了。


然后我为我一直在开发的旧应用程序运行“rails server”,大约 2 分钟没有任何反应,最后它吐出一个错误。

/Users/Nick/.rvm/bin/ruby: line 6: /Users/Nick/.rvm/bin/ruby: Argument list too long
/Users/Nick/.rvm/bin/ruby: line 6: /Users/Nick/.rvm/bin/ruby: Undefined error: 0

所以我做了下面建议的一切,我得到了各种各样的错误。如果我要为每个错误创建一个单独的问题,我想我会把 stackoverflow 弄得一团糟,所以我想在这里给出某种命令来解决这个问题。

现在我正试图回溯并弄清楚发生了什么......每次我在答案中运行这些不同的命令时,我都在改变事情,而我不知道发生了什么。


当我尝试安装一个 ruby​​ 版本时,我收到此错误:

apple-gcc42 is not available in PATH, try:

brew unlink apple-gcc42 && brew link apple-gcc42

and make sure that apple-gcc42 is available in your PATH:

which gcc-4.2

我在某处读到安装 xCode 可以解决这个问题,所以我安装了它。虽然我得到了同样的错误。


当我尝试从该错误中运行第一个建议时,我得到了这个:

Unlinking /usr/local/Cellar/apple-gcc42/4.2.1-5666.3... 0 links removed
Linking /usr/local/Cellar/apple-gcc42/4.2.1-5666.3... Warning: Could not link apple-gcc42.     
Unlinking...

Error: Could not symlink file: /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/include/gcc
/usr/local/include is not writable. You should change its permissions.

当我运行第二个建议时,它会返回

gcc-4.2 not found

通常当我运行“ruby -v”或“rails -v”时,它会返回版本名称。现在它只返回与我运行“rails s”时完全相同的错误

如果我尝试将 gemsets 从默认切换到全局,它会说

To install do: 'rvm install ruby-1.9.3-p125'

但是,如果我尝试安装它,我会得到相同的 gcc 错误。


当我尝试安装 rails 时,我收到关于安装 libyaml 的错误,我已经安装了 10 次:

➜  app3 git:(add_food_servings) ✗ gem install rails
 /Users/Nick/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/yaml.rb:4:in `<top (required)>':
 It seems your ruby installation is missing psych (for YAML output).
 To eliminate this warning, please install libyaml and reinstall your ruby.
 /Users/Nick/.rvm/rubies/ruby-2.0.0-  
  p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require':  
 dlopen(/Users/Nick/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin11.4.2/psych.bundle, 9): Library not loaded: /usr/local/opt/libyaml/lib/libyaml-0.2.dylib (LoadError)
  Referenced from: /Users/Nick/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin11.4.2/psych.bundle

我的问题是......发生了什么事,我怎样才能回到我可以运行 rails s 并安静地处理我的应用程序的地方!?哈哈

4

2 回答 2

1

让我们澄清一下:无法从gemset更改Gemfile

Gemset的目标是为您的应用程序提供独立的 gems 安装。

要使用 RVM Gemset,您应该执行以下操作:

  1. 验证您是否拥有最新的rvm(在您的控制台中运行):

    rvm 稳定下来

  2. 检查你有哪个 ruby​​ 版本:rvm list和 gemsets:rvm gemset list

  3. 假设,新的 gemset 名称是myapp。您应该按如下方式创建它:

    rvm gemset 创建 myapp

  4. 在应用程序根文件夹中添加以下文件:.ruby-gemset.ruby-version

    .ruby-version包含您要使用的 ruby​​ 版本,.ruby-gemset包含 gemset 名称

  5. 关闭您的控制台并打开一个新的。转到您的项目文件夹,应该准备好一个新的 gemset。重复步骤 2以验证您的 gemset 配置是否正确。

  6. 安装捆绑器:

    gem install bundler 捆绑安装

示例:创建.ruby-*配置文件:

echo "ruby-1.9.3-p429" > .ruby-version

echo "myapp" > .ruby-gemset

笔记:

要将当前 gemset 设为默认值,请执行以下操作:rvm use ruby-1.9.3-p429@myapp --default

于 2013-07-23T15:00:34.353 回答
1

你得到的错误:

/Users/Nick/.rvm/bin/ruby: line 6: /Users/Nick/.rvm/bin/ruby: Argument list too long /Users/Nick/.rvm/bin/ruby: line 6: /Users/Nick/.rvm/bin/ruby: Undefined error: 0

显示没有使用 rvm ruby​​,请确保在工作之前先使用 ruby​​:

rvm use ruby

如果你想使用为当前目录项目定义的 ruby​​:

rvm use --install --create .

和标志将处理丢失的 ruby​​ 和 gemset --install--create

于 2013-07-23T18:59:13.173 回答