关于ruby:bundle install在移动文件后导致验证错误

bundle install causes validation error after moving file

在gem开发目录中,我将文件lib/project/module.rb移动到lib/project/helpers/module.rb,然后执行了这个操作。

bundle install

这给了我一个无效的gemspec错误

project at /path/project did not have a valid gemspec. This prevents
bundler from installing bins or native extensions, but that may not
affect its functionality. The validation message from Rubygems was:

["lib/project/module.rb"] are not files

为什么我会得到这个错误?


出现此问题是因为gemspec使用git验证所需文件的存在。

而不是做一个正常的mv

mv lib/project/module.rb lib/project/helpers/

最好是做一个吉特MV

git mv lib/project/module.rb lib/project/helpers/

恢复移动并执行git mv后,bundle安装工作正常,没有任何验证错误。

一般来说,在Git回购中执行Git mv而不是mv也是更好的做法,因为它可能使您的提交看起来更干净。Git MV的目的是什么?


可能您修改了该文件的名称,但没有提交这些更改。

1
git add .

会解决问题的。