2017-10-11 45 views
0

我来自Python和JavaScript背景。如何执行软件包安装位置

开发JavaScript项目时,依赖项安装在项目根目录下的node_modules目录中。

开发Python项目时,通常使用virtualenvwrapper。在这种情况下,依赖关系安装在虚拟环境中,默认位于~/.virtualenvs/<project_name>

现在我需要为项目使用红宝石工具。看起来像上面描述的类似设置最有希望的工具是bundler。

但是,bundler的默认安装位置是系统范围的。我认为这是有害的。

对于我的系统之一,它会提示输入密码,此时我仍然可以中止。

但是,对于我的其他系统,我可以写入全局ruby安装。我在这里使用安装红宝石的自制软件。 Bundle将只安装全局依赖关系。

我知道我可以通过添加--path来指定安装位置,但这很容易忘记。

执行安装路径的一种方法是提交.bundle/config。它只会包含这一点:

--- 
BUNDLE_PATH: "." 

但是,一些使用谷歌搜索显示它没有建议提交此文件。

推荐使用捆绑器来防止意外全局安装的方法是什么?

+0

你为什么不试试rvm gemsets https://rvm.io/gemsets? – Gaurav24

回答

0

谁说这是偶然?这真的取决于你在这里讨论的背景。我设置了我的Ruby,以便bundle install不需要sudo就可以工作,它全部通过rbenv自动完成。如果作为用户级安装完成,则rvm也是如此。

当谈到部署应用程序,并且想要确保其正确部署时,这就是Capistrano这样的工具的作用:创建一个部署脚本,每次都会应用正确的过程。

从开发角度来看,在.bundle/config中检查确实很粗鲁,就像检查您可能具有的任何其他用户特定偏好一样。它不会与其他团队成员发生冲突。