향수 경로는 "초기화되지 않은 향수:::CLI: FileUtils"를 표시합니다.
5326 단어 homesick
묘사
나는 막 새 컴퓨터에 홈릭을 설치했는데homesick track
을 실행할 때 다음과 같은 오류를 받았다.``
~ > homesick track .tlmgr.sh dotfiles
/usr/local/lib/ruby/gems/2.4.0/gems/homesick-1.1.5/lib/homesick/cli.rb:160:in
track': 초기화되지 않은 상수 Homesick: CLI: FileUtils(NameError)그게 무슨 소리야?파일 테스트
ruby-r.0/gems/local/thor.0/gems/.rb:27:in
run'
from /usr/local/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in
호출 명령'/usr/local/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor에서 왔습니다.rb:387:in
dispatch'
from /usr/local/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/base.rb:466:in
시작'from/usr/local/lib/ruby/gems/2.4.0/gems/homesick-1.1.5/bin/homesick:9:in
<top (required)>'
from /usr/local/bin/homesick:22:in
load'from/usr/local/bin/homesick:22:in`'
I don't know any ruby, but I googled it a bit and added `require 'FileUtils'` to `cli.rb`.
That threw many other errors, but the `track` command seemed to work after all:
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/fileutils.rb:1185: 경고: 상수 FileUtils::Entry uu::S IF DOOR 초기화/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/FileUtils.rb:1185: 경고: 문이 여기에 있으면 S 의 이전 정의
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/fileutils.rb:1443: 경고: 상수 FileUtils::Entry\uU:DIRECTORY\u 용어가 초기화되었습니다.
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/FileUtils.rb:1443: 경고: 이전 디렉터리 용어 정의
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/fileutils.rb:1445: 경고: 상수 FileUtils::Entry Utils::SYSCASE 초기화
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/FileUtils.rb:1445:경고:SYSCASE 이전의 정의는 여기에 있습니다
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/fileutils.rb:1498: 경고: 상수 FileUtils::OPT 표 초기화
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/FileUtils.rb:1498:경고:여기 OPT 표의 이전 정의가 있습니다
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/fileutils.rb:1552: 경고: 상수 FileUtils::LOW 메소드 초기화
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/FileUtils.rb:1552:경고:이전 낮은 방법의 정의는 여기에 있다
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/fileutils.rb:1559: 경고: 상수 FileUtils::METHODS 초기화
/usr/local/ceral/ruby/2.4.1_1/lib/ruby/2.4.0/FileUtils.rb:1559:경고:이전의 방법은 여기에 정의되어 있다
```
무슨 생각 있어요?나는 향수병을 앓은 지 이미 한동안 되었는데, 이것은 이전에 발생한 적이 없다.
토론 #1
구글에서 더 많이 검색하고require 'FileUtils'
로 바꿨어요require 'fileutils'
.이것은 마치 모든 문제를 해결한 것 같다.나는 요청을 하나 할 수 있지만, 여기에 또 다른 문제가 있는지 없는지는 확실하지 않다.알려줘.토론 #2
나는 정말 무슨 이유로 너를 이렇게 하게 했는지 모르겠다.우리는 고향을 그리워하는 행위를 둘러싸고 여러 가지 테스트를 진행했는데, 마치 불합격한 것이 없는 것 같다.위의 스택 추적에서 Ruby 2.4.1에서 실행되고 있는 것 같습니다.우리는 현재 2.4.0 버전만 테스트하고 있다.내가 시간이 있을 때, 나는 2.4.1을 테스트 세트에 추가하려고 시도하지만, 당신은 2.4.0을 설치할 방법이 있습니까? 같은 문제에 부딪혔는지 보십시오.토론 #셋
네, 문제점을 찾은 것 같습니다.나는 Ruby 2.3을 시도했지만 여전히 효과가 없었다.
~ > homesick track .tlmgr.sh dotfiles
/usr/local/lib/ruby/gems/2.3.0/gems/homesick-1.1.5/lib/homesick/cli.rb:160:in `track': uninitialized constant Homesick::CLI::FileUtils (NameError)
Did you mean? FileTest
from /usr/local/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
from /usr/local/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
from /usr/local/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
from /usr/local/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
from /usr/local/lib/ruby/gems/2.3.0/gems/homesick-1.1.5/bin/homesick:9:in `<top (required)>'
from /usr/local/bin/homesick:23:in `load'
from /usr/local/bin/homesick:23:in `<main>'
그러나 고향을 그리워하는 루비게이지 업데이트 버전thor를 설치해야 한다. 무엇이든지~ > gem install homesick
Successfully installed thor-0.20.0
Fetching: homesick-1.1.5.gem (100%)
Successfully installed homesick-1.1.5
그래서 그게 문제일지도 몰라요.thor를 마운트 해제하고 이전 버전에서 다시 시도합니다.Successfully uninstalled thor-0.20.0
~ > gem install thor -v 0.19.4
Fetching: thor-0.19.4.gem (100%)
Successfully installed thor-0.19.4
Parsing documentation for thor-0.19.4
Installing ri documentation for thor-0.19.4
Done installing documentation for thor after 0 seconds
1 gem installed
~ > homesick track .tlmgr.sh dotfiles
track /Users/dbmrq/.homesick/repos/dotfiles/home/.tlmgr.sh already exists, and is more recent than .tlmgr.sh. Run 'homesick SYMLINK CASTLE' to create symlinks.
identical /Users/dbmrq/.tlmgr.sh
그리고 효과가 있어요.🎉이 때문에 문제는thor 0.20.0 업데이트 버전에서만 발생한 것 같다.내가 말한 바와 같이
require 'fileutils'
를 cli.rb
에 첨가하면 그것을 복구할 수 있지만, 나는 어떤 루비도 모르고, 이것이 방법인지도 모른다.도와 주셔서 감사합니다.
토론 #4
저는 Thor 0.20.0과 Ruby 2.4.1에서 같은 오류를 얻었고 cli의 맨 위에서 확인할 수 있습니다require 'fileutils'
.rb는 복구 작용을 한다.토론 #5
루비 2.4.2p198과 토르 0.20.0도 마찬가지다.토론 #6
톨의 이 약속은 고향을 그리워하는 과정에서 이 문제를 일으킨 것 같다.https://github.com/erikhuda/thor/commit/687337a9f8e9bfe36e3331f8e6f129643a64b7e0
이것은 순전히 톨
fileutils
이 요구하는 의외의 부작용으로 고향 생각cli.rb
에서 사용할 수 있기 때문에 정확한 해결 방안은 cli.rb
에서 요구하는 것이라고 생각합니다.
Reference
이 문제에 관하여(향수 경로는 "초기화되지 않은 향수:::CLI: FileUtils"를 표시합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/technicalpickles/homesick/issues/165텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)