![Ruby 中“gem install --bindir ~/path/to/folder” 和 “--user-install” 之间的有效区别](https://linux22.com/image/1500797/Ruby%20%E4%B8%AD%E2%80%9Cgem%20install%20--bindir%20~%2Fpath%2Fto%2Ffolder%E2%80%9D%20%E5%92%8C%20%E2%80%9C--user-install%E2%80%9D%20%E4%B9%8B%E9%97%B4%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%BA%E5%88%AB.png)
我目前没有学习 Ruby 的愿望,我只是想知道和之间有什么区别gem install --bindir ~/path/
,gem install --user-install
只要每条路径都在我的$PATH
.
答案1
看着那(这Ruby GEM 命令参考这里:
-n, --bindir DIR - Directory where binary files are located
--[no-]user-install - Install in user’s home directory instead of GEM_HOME.
有效且可操作性强,如果文件路径在您的 中,您(作为使用 Ruby 的最终用户)不会真正注意到差异$PATH
。但每个命令显然处理 Ruby GEM 安装的不同文件系统方面。
--bindir
--bindir
指bin
ary dir
ectory。许多 Ruby GEMS 将 Ruby 脚本文件安装为其核心库函数的一部分但还将安装“二进制文件”作为其安装过程的一部分。这意味着,如果您是 Ruby 程序员,您可能希望安装 Ruby GEM,以便在您自己的自定义代码中对其核心代码进行有用的引用。但是,执行等效或“辅助”任务的二进制文件与这些 Ruby GEM 库文件一起安装。从文件系统管理的角度来看,一些用户可能希望将这些二进制文件安装在单独的目录中,而不是默认的 Ruby GEM 目录中。
--用户安装
因此,虽然--bindir
可以选择控制与 Ruby GEM 相关的二进制文件的安装位置,但--user-install
可以手动覆盖全部安装 Ruby GEM 文件;二进制文件、库和其他类似的东西。通过使用,--user-install
您指示 Ruby GEM 将 GEM 安装在~/.gem
目录中,该目录当然是用户主目录中。如果没有该--user-install
选项,Ruby GEM 文件将安装到默认GEM_HOME
路径。
更改默认文件路径--user-install
不会对操作产生任何负面影响。Ruby GEM 只会安装在一个~/.gem
目录中(即您的主目录中),并且 Ruby 会知道检查那里以及它自己的默认更新路径。