gpt4 book ai didi

bundler - 运行 bin/console 返回 ": No such file or directory"

转载 作者:行者123 更新时间:2023-12-05 02:22:19 25 4
gpt4 key购买 nike

我在 bundler 1.7 上使用“bundle gem gem_name”构建了一个 gem。我现在正在使用 bundler 1.9.4。我使用 1.9.4 创建了一个新的 gem,我注意到 gem 模板发生了一些变化。我决定回到旧的 1.7 gem 并将其升级到新格式;我在运行新的 bin/console 命令时遇到错误。

我已将 .gemspec 文件更新为:

# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'basic/version'

Gem::Specification.new do |spec|

...other settings here...

# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
# delete this section to allow pushing this gem to any host.
if spec.respond_to?(:metadata)
spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
else
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
end

spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]

spec.add_development_dependency "bundler", "~> 1.9"
spec.add_development_dependency "rake", "~> 10.0"
end

我还创建了 bin/console 文件。

当我从命令行运行 bin/console 时,出现以下错误

: No such file or directory

当我在使用 bundler 1.9.4 生成的 gem 中运行 bin/console 时,一切正常。我错过了什么?

最佳答案

想通了。我在 Windows 上的 Sublime Text 中创建了 bin/console 文件。这导致 Windows 行结尾被添加到文件中,这使得该文件在 Linux 中无法执行。以下是我为解决问题所做的工作:

我在 Vim 中打开 bin/console 以确保文件以 Unix 行结尾保存:

vi bin/console

然后输入

:set fileformat=unix

按返回。 Vim 可能似乎没有做任何事情(即 :set fileformat=unix" 可能仍然出现在该行上)

接下来通过键入保存并关闭文件:

:wq!

现在 bin/console 应该可以工作了。

我还更改了 Sublime Text 以强制它默认使用 Unix 行结尾。单击 Preferences/Settings-User 菜单选项。添加以下设置:

{
"default_line_ending": "unix",
}

在进行上述更改后(如果您使用该编辑器),您可能只需通过 Sublime Text 打开和保存文件,而不是通过 Vim。

关于bundler - 运行 bin/console 返回 ": No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29971864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com