这两个命令似乎产生了几乎相同的东西
rails plugin new __name__
bundle gem __name__
有一个我没注意到的隐藏细节?
你使用哪一个,基本上,为什么?
由于
答案 0 :(得分:1)
他们都可以生成一个准系统宝石,但它们是不同的。
rails plugin new
可以在test
内生成一个虚拟应用,以及一个基本的test_helper
,如果你想在gem中添加一些功能/集成测试,这将非常方便。你也可以修改一下使用Rspec。 bundle gem
不会这样做。
如果您为Rails开发gem并需要进行此类测试,那么rails plugin
会更好。否则bundle
或宝石生成宝石jeweller
。
答案 1 :(得分:0)
在最新版本的Rails中,插件或多或少地被弃用以支持宝石。
答案 2 :(得分:0)
据我所知,运行rails plugin my_gem
只会在rails应用的根目录中创建一个'my_gem'目录。
与运行bundle gem my_gem
并没有太大区别,只是它会存储几个测试文件,并运行bundle install。
如果您正在创建一个在rails上运行的gem,那么这可能很有用 - 您需要一个“rails环境”(请参阅test / dummy / app目录)。
但是,如果你这样做,看起来gem被添加到rails项目的根目录中。你可以随时移动它,但如果你要运行bundle gem,你可以随时随地进行移植。