Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何从RubyonRails应用程序中删除gem?_Ruby On Rails_Ruby_Rubygems - Fatal编程技术网

Ruby on rails 如何从RubyonRails应用程序中删除gem?

Ruby on rails 如何从RubyonRails应用程序中删除gem?,ruby-on-rails,ruby,rubygems,Ruby On Rails,Ruby,Rubygems,我在Rails应用程序设计中安装了一个gem。在我安装了gem之后,我意识到我不需要它 我想删除gem、它的依赖项以及它在我的应用程序上创建的文件。换句话说,我想将系统恢复到创业板上市之前的状态。我该怎么做?我使用的是Ruby on Rails 3。如果您使用的是Rails 3+,请从gem文件中删除gem并运行bundle安装 如果您使用的是Rails 2,希望您已经将声明放在config/environment.rb中了。如果是这样的话,从那里删除它并运行rake gems:install就

我在Rails应用程序设计中安装了一个gem。在我安装了gem之后,我意识到我不需要它


我想删除gem、它的依赖项以及它在我的应用程序上创建的文件。换句话说,我想将系统恢复到创业板上市之前的状态。我该怎么做?我使用的是Ruby on Rails 3。

如果您使用的是Rails 3+,请从gem文件中删除gem并运行bundle安装


如果您使用的是Rails 2,希望您已经将声明放在config/environment.rb中了。如果是这样的话,从那里删除它并运行rake gems:install就可以了。

您正在使用某种版本控制,对吗?然后,在添加gem之前恢复到提交状态应该非常简单,或者如果在添加gem之后有多个修订,则恢复到添加gem的状态。

类似于:

gem dependency devise --pipe | cut -d \  -f 1 | xargs gem uninstall -a

这假设您没有使用bundler,但我想您没有,因为从bundle中删除gemspec可以解决问题

designe使用一些生成器生成视图,并将它需要的内容放入应用程序中。如果已运行此生成器,则可以使用

rails destroy <name_of_generator>
gem的卸载工作如其他文章所述

您可以使用


gem卸载Rails 4-从gem文件中删除gem名称,然后在终端中运行bundle install。之后还要重新启动服务器。

这也会删除gem创建的文件吗?除非您明确指定,否则它通常不会添加任何文件,但它可能会修改一些现有文件,如routes.rb。如果你想回滚那些修改,你可以像@harald所说的那样通过源代码管理进行恢复。这也会删除所有的生成器吗?我使用的是git。有没有办法用git还原我的应用程序?是的,根据您的情况查找“git revert”或“git reset”,其中一个可能会对您有所帮助。这显然不是正确的答案。使用git或更一般的VCS来删除已安装的gem或库真的很糟糕。最好按照@rtfminc的建议使用gem uninstall,或者按照@srdjan pejic的建议从gem文件中删除依赖项并在应用程序中运行bundle install。为什么在这个问题上有这么多投票?问题是如何将其从RoR应用程序中删除。为此,您只需将其从Gemfile.rb中删除并重新绑定即可。这就是全部。要删除依赖项,您必须删除相关的文件和依赖项。对于新的Rails应用程序,我们可以借助irb来保存您的系统,并在基于ruby版本的虚拟环境中工作。