运行“捆绑安装”失败并要求我运行“捆绑安装”

时间:2011-08-07 07:07:56

标签: ruby-on-rails ruby install rvm bundle

事实上,所有与gem相关的命令都会导致相同的错误消息,当从我从git repo克隆的现有rails应用程序内部运行时。

$ bundle install
Could not find tzinfo-0.3.27 in any of the sources
Run `bundle install` to install missing gems.

$ gem list
Could not find tzinfo-0.3.27 in any of the sources
Run `bundle install` to install missing gems.

$ bundle update
Could not find tzinfo-0.3.27 in any of the sources
Run `bundle install` to install missing gems.

$ rails -v
Could not find tzinfo-0.3.27 in any of the sources
Run `bundle install` to install missing gems.

我以为我已经安装了rails ...(以下命令是从app目录外部运行的):

$ rails -v
Rails 3.0.3

$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.0]

知道怎么了“捆绑安装”告诉我运行“捆绑安装”??


我退出了我的app目录并手动执行了

sudo gem install tzinfo -v 0.3.27

但是再次进入我的app目录并尝试“捆绑安装”......

$ bundle install
Could not find polyglot-0.3.1 in any of the sources
Run `bundle install` to install missing gems.

所以我退出了app目录,做了

sudo gem install polyglot -v 0.3.1

“捆绑安装”现已产生

$ bundle install
Could not find treetop-1.4.9 in any of the sources
Run `bundle install` to install missing gems.

为什么我必须手动安装我过去没有的所有这些随机宝石? (新开发环境)。任何人都知道我的环境中可能存在错误吗?

6 个答案:

答案 0 :(得分:9)

好吧我猜我修好了..

对于从app目录内部运行时抱怨的gems,我通过跳到app目录并逐个执行bundle install来安装它们。做sudo gem install [gem]还安装了一些缺失的宝石。

我不知道为什么我无法从app目录中运行bundle install --gemfile=myApp/Gemfile ... lame。

答案 1 :(得分:3)

我有这个问题。我曾经做过:

[root@smaug ~]# PATH=$PATH:~/.gem/ruby/2.0.0/bin

[root@smaug ~]# export PATH

然后它被修复了,我可以

[root@smaug msf3]# bundle install

成功。

答案 2 :(得分:3)

问题是你的所有命令实际上都是bundle exec。如果您看一下输出,那么捆绑器会告诉您未安装宝石。如果您在rbenv中安装了一些插件,例如rbenv-bundle-exec,rbenv-bundler或rbenv-binstubs,就会发生这种情况。 至少在我看来,这是第一次在项目中尝试bundle install时发生的事情,因为它实际检测到当前文件夹中有Gemfile并尝试bundle exec bundle install不行。

您可以使用Tim的解决方案,并从项目文件夹外部运行bundle install。

您可以暂时禁用或卸载将bundle exec添加到ruby命令之前的扩展名。

或者如果因为您使用rbenv-bundle-exec而发生问题,请执行以下操作:

NO_BUNDLE_EXEC=1 bundle install

答案 3 :(得分:1)

rubyinstaller

安装ruby

然后gem install bundle在win 10 PC上为我解决了这个问题。

答案 4 :(得分:0)

bundle exec bash 将具有相同的效果

确保未设置 BUNDLER_ORIG_* 环境变量。

如果是,则表明您处于 bundle exec 子进程中。

答案 5 :(得分:-4)

我遇到了一个非常类似的问题,在尝试了很多不同的事情之后我终于找到了一个简单的解决方案......我重启了我的电脑(mac os 10.9x)。可不是闹着玩的。