当前位置: 首页 > 知识库问答 >
问题:

后端 - Ruby项目一般是把依赖安装在哪里的呢?

越涵衍
2024-07-04

Ruby项目一般是把依赖安装在哪里的呢?

1)gem install xxx,之后好像没有在项目目录下
image.png
2)是否可以像nodejs项目一样把packages安装在项目的根目录下?

共有2个答案

邓宜年
2024-07-04

gem install,在我的macOS中是安装到/usr/lib/ruby/gems/x.x.x/,其他的Linux系统估计类似,Windows系统应该也是在Ruby的安装目录中

如果想和nodejs一样,依赖都在项目文件中,需要用到Bundler

也有类似package.json的依赖管理文件Gemfile

通过bundler install安装,安装后会在项目中生成vender/xxx的依赖文件

更多参考:https://bundler.io/guides/rationale.html

卓星波
2024-07-04

Ruby 项目中依赖的管理主要通过 RubyGems(简称 gem)来进行。以下是针对你提出的问题的回答:

1)当你使用 gem install xxx 命令时,gem 会将指定的包安装到 Ruby 的全局 gem 仓库中。这个仓库通常位于系统的某个特定目录下,具体位置取决于你的操作系统和 Ruby 安装方式。例如,在 Unix-like 系统(如 Linux 或 macOS)上,它可能位于 /usr/local/lib/ruby/gems/ 下的某个版本中。而在 Windows 上,则可能在类似 C:\Ruby\lib\ruby\gems\ 的路径下。

2)是的,Ruby 项目可以像 Node.js 项目一样将依赖安装在项目的根目录下。这通常通过使用 bundle 命令和 Gemfile 文件来实现。Gemfile 列出了项目的所有依赖和它们所需的版本。你可以使用 bundle install 命令来根据 Gemfile 安装所有依赖,这些依赖将被安装到项目的 vendor/bundle 目录(这是默认设置,但可以通过 .bundle/config 文件或环境变量进行更改)或系统 gem 仓库中(如果你没有设置 --path 参数)。

如果你想让 gem 依赖安装在项目的本地目录中,你可以在项目的根目录下运行 bundle install --path vendor/bundle 命令。这会将所有的 gem 安装到项目的 vendor/bundle 目录中,这样你的项目就可以在不依赖系统全局 gem 仓库的情况下运行了。

以下是一个简单的 Gemfile 示例:

source 'https://rubygems.org'

gem 'rails', '~> 6.0'
gem 'puma', '~> 3.11'
# ... 其他依赖

在这个示例中,railspuma 是该项目的依赖,而 ~> 符号表示安装指定主要版本和次要版本中的最新版本(但不包括下一个主要版本)。

 类似资料:
  • 问题内容: 我对Linux相对较新,正在尝试为python安装pygame开发环境。当我运行setup.py时,它说我需要安装以下依赖项,其中之一是我找到并安装的(SDL)。但是,其他的则更加难以捉摸。 如果您能给我一些指导,我将不胜感激。 谢谢。 问题答案: 对于debian,有一个预构建的软件包。看这里。您应该能够使用或类似的方式安装它。

  • 问题内容: 我正在尝试在OSX上设置virtualenvwrapper,我发现的所有说明和教程都告诉我向.profile添加源命令,指向virtualenvwrapper.sh。我已经检查了所有的python和site- packages目录,但找不到任何virtualenvwrapper.sh。这是我需要单独下载的东西吗?pip安装不正确吗? 这是/Library/Frameworks/Pyth

  • 我正在尝试在OSX上安装VirtualEnvrapper,我找到的所有说明和教程都告诉我向.profile添加一个源命令,指向virtualEnvrapper.sh。我已经检查了所有python和site packages目录,但找不到任何virtualenvwrapper.sh。这是我需要单独下载的东西吗?pip是否安装不正确? 这是/Library/Frameworks/Python.fram

  • 对于我的一些模块,Intellij的想法不是导入依赖项和插件。只导入活循环。 当我在命令行编译时,POM是有效的。我已经删除了模块并重新导入它们。我删除了他们的项目,并重新导入它。 所以我想知道Intellij在模块上的想法信息被删除后是否有一些秘密缓存。

  • 问题内容: 我正在使用和。 我想从URL安装额外的库,例如安装setup.py上的git repo。 我在中添加了额外的参数。这意味着,我的库需要额外的库,并且还必须安装它们。 但是git repos之类的网址不是in中的有效字符串。假设,我想从github安装一个库。我已经搜索过该问题,发现了可以放入库中的内容。但这仍然行不通。这是我的依赖链接定义; 链接有效。我可以使用这些URL从Intern

  • If you have just checked out a package from version control, you will need to install those dependencies. If you are adding dependencies for your project, then those dependencies are automatically ins