我来自Python和JavaScript背景。
在开发JavaScript项目时,依赖项安装在项目根目录的node_modules
目录中。
在开发Python项目时,通常使用virtualenvwrapper。在这种情况下,依赖项安装在虚拟环境中,默认情况下位于~/.virtualenvs/<project_name>
。
现在我需要为项目使用ruby工具。对于如上所述的类似设置而言似乎最有希望的工具是bundler。
但是,bundler的默认安装位置是系统范围的。我认为这是有害的。
对于我的一个系统,它会提示输入密码,此时我仍然可以中止。
但是,对于我的其他系统,我可以写入全局ruby安装。我在这里使用自制软件安装ruby。 Bundle只会在全球范围内安装依赖项。
我知道我可以通过添加--path
来指定安装位置,但这很容易忘记。
强制执行安装路径的一种方法是提交.bundle/config
。它只需要包含这个:
---
BUNDLE_PATH: "."
然而,一些谷歌搜索显示,它不建议提交此文件。
使用bundler阻止意外全局安装的推荐方法是什么?
答案 0 :(得分:0)
谁说这是偶然的?这真的取决于你在这里谈论的背景。我设置了Ruby,以便bundle install
无需sudo
即可运行,所有这些都是通过rbenv
自动完成的。如果以用户级安装完成,rvm
也是如此。
在部署应用程序时,如果要确保它已正确部署,那么Capistrano等工具就会发挥作用:创建将应用正确程序的部署脚本每一次。
从开发角度检查.bundle/config
是非常粗鲁的,就像检查您可能拥有的任何其他用户特定的偏好一样。它不会与其他团队成员发生冲突。