gpt4 book ai didi

ruby-on-rails - Capistrano 3 进程失败

转载 作者:行者123 更新时间:2023-12-02 01:53:04 27 4
gpt4 key购买 nike

我正在从 Capistrano 2 升级到 Capistrano 3,一切似乎都在成功运行,除了我看到这两个在运行时失败:

DEBUG [bbfe01ec] Running /usr/bin/env [ -L /var/www/myapp/releases/20140211033611/public/assets ] on myapp.com
DEBUG [bbfe01ec] Command: [ -L /var/www/myapp/releases/20140211033611/public/assets ]
DEBUG [bbfe01ec] Finished in 0.146 seconds with exit status 1 (failed).
DEBUG [26f99b11] Running /usr/bin/env [ -d /var/www/myapp/releases/20140211033611/public/assets ] on myapp.com
DEBUG [26f99b11] Command: [ -d /var/www/myapp/releases/20140211033611/public/assets ]
DEBUG [26f99b11] Finished in 0.141 seconds with exit status 1 (failed).

为什么会失败,我该如何解决?

最佳答案

我有同样的问题,这里是 capistrano 代码,当您收到这些错误时执行:

desc 'Symlink linked directories'
task :linked_dirs do
next unless any? :linked_dirs
on release_roles :all do
execute :mkdir, '-pv', linked_dir_parents(release_path)

fetch(:linked_dirs).each do |dir|
target = release_path.join(dir)
source = shared_path.join(dir)
unless test "[ -L #{target} ]"
if test "[ -d #{target} ]"
execute :rm, '-rf', target
end
execute :ln, '-s', source, target
end
end
end
end

据我所知,这里是使用命令 ln用于创建符号链接(symbolic link)。

阅读关于 ln (man ln) 的手册我们了解到,当尝试创建硬链接(hard link)目录时,该命令可能会由于系统限制而失败。

-d, -F, --directory
allow the superuser to attempt to hard link directories (note: will probably fail
due to system restrictions, even for the superuser)

'ln -d' 无法创建硬链接(hard link),这就是执行 'ln -s' 以创建符号链接(symbolic link)(符号链接(symbolic link)而不是硬链接(hard link))的原因。

所以,不用担心这个失败。如果您想避免它,只需像这样更改您的部署选项:

set :format, :pretty
set :log_level, :info

关于ruby-on-rails - Capistrano 3 进程失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21692601/

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