Kiedy dołączam klejnot, który stworzyłem, dzięki Bundlerowi (wersja 1.0.12), do pliku Gemfile, a następnie próbuję łączyć lub zgarniać w ten sposób:
$ rake
Otrzymałem ten komunikat o błędzie:
Invalid gemspec in [/Users/zagzag/.rvm/gems/ruby-1.9.2-p180@foobar/specifications/myplugin-1.0.0.gemspec]: invalid date format in specification: "2011-04-21 00:00:00.000000000Z"
Korzystam z ostatniego Mac OS X (10.6.4), z:
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.4.0]
i:
$ gem -v
Invalid gemspec in [/Users/zagzag/.rvm/gems/ruby-1.9.2-p180@foobar/specifications/myplugin-1.0.0.gemspec]: invalid date format in specification: "2011-04-21 00:00:00.000000000Z"
1.7.2
Naprawdę nie wiem, jak rozwiązać ten problem. Dzięki za wszelkie pomysły.
rubygems
bundler
ruby-1.9
ruby-1.9.2
Zag zag ..
źródło
źródło
Odpowiedzi:
Oto sposób, w jaki naprawiam błąd „nieprawidłowy format daty w specyfikacji”:
1.) Przejdź do folderu specyfikacji znajdującego się pod adresem:
/usr/local/lib/ruby/gems/1.8/specifications/
2.) Znajdź specyfikację, która powoduje problem.
3.) Zmień
s.date = %q{2011-05-21 00:00:00.000000000Z}
nas.date = %q{2011-05-21}
To dla mnie WYGRANA! Powodzenia
źródło
Oto polecenie naprawienia tego dla wszystkich twoich klejnotów:
Konwertuje
s.date = %q{2011-05-21 00:00:00.000000000Z}
nas.date = %q{2011-05-21}
i powinien rozwiązać problem.źródło
git init . && git commit -am "backup
Proszę zwrócić uwagę na komentarz Damiana Nowaka. Te polecenia mogą zepsuć twoje rubygemy!
W systemie Ubuntu 11.10 ten błąd rozwiązano:
Poniższe mogą działać na niektórych systemach, ale nie na Debianie:
źródło
Możesz zaktualizować swój
gem
. Aby to naprawić, możesz edytowaćgemspec
plik bezpośrednio - zdo
Lub zmodernizuj również swoje szyny
To rozwiąże problem.
źródło
specifications
katalogu to jest mojaspecifications
ścieżka do katalogu -/home/sayuj/.rvm/gems/ruby-1.9.2-p180/specifications/
Nie podawaj czasu ... tylko datę.
2011-04-21
powinno działać dobrze.źródło
git ls-files
.split ("\ n ") s.test_files =git ls-files -- {test,spec,features}/*
.split (" \ n ") s.require_paths = [" lib "] endMiałem ten sam problem. Wygląda jak błąd w rubygemach. Oto zatwierdzenie, które to naprawiło: https://github.com/rubygems/rubygems/commit/21cccd55b823848c5e941093a615b0fdd6cd8bc7
Musisz zaktualizować rubygems i bundler do najnowszych wersji. Jeśli po tym nadal masz problemy, może być konieczne usunięcie, a następnie ponowne zainstalowanie wszystkich klejnotów, które powodują problemy.
źródło
To bardziej komentarz do odpowiedzi Ben hall'a, ale wydaje mi się, że nie mam tego przywileju
aktualizacje klejnotów wydawały się nie działać, myślę, że nie można nawet załadować klejnotu z powodu złego formatu daty. Ręczna zmiana dat była zbyt frustrująca, aby przejść jedną po drugiej, więc grep:
A dla seda:
I na własne ryzyko !! Wciąż jestem nowicjuszem seda, ale to zadziałało;)
źródło
Na moim serwerze Slicehost folder specyfikacji znajdował się w innym miejscu. Oto ścieżka:
/usr/lib/ruby/gems/1.8/specifications
Podany błąd powinien wskazywać ścieżkę do folderu specyfikacji.
źródło
Podejście ze strzelbą: Odinstaluj wszystkie klejnoty i uruchom ponownie pakiet.
gem list --no-version | xargs gem uninstall -aIx
rm -i `rvm gemdir`/specifications/*.gemspec
gem update --system
gem install bundler
bundle install
źródło
.rvmrc
pliku, uważaj, uruchamiając linię 2, ponieważ gemdir może wygenerować dodatkowe wyniki.(Dopóki poprawka nie trafi do stabilnej wersji Rubygems) Rozwiązałem to, ponownie instalując tę samą wersję wszystkich klejnotów generujących ostrzeżenia za pomocą przełącznika --version polecenia gem.
źródło
Jak powiedział Ben Hall, musisz naprawić plik gemspec, który może się zmieniać w zależności od systemu. Aby dowiedzieć się, jaki plik jest, zobacz, który plik jest opisany w raporcie o błędach, na przykład:
W tym przykładzie musisz edytować plik „/var/lib/gems/1.8/specifications/svn2git-2.1.2.gemspec” i zmienić „2011-12-28 00: 00: 00.000000000Z” na „2011-12-28” w opcji s.date.
źródło
Miałem ten problem jeszcze teraz. Aktualizacja Rubygems rozwiązała to dobrze:
źródło
To jest moje środowisko:
W końcu udało mi się znaleźć przyczynę / sposób, aby zapobiec tym błędom w moim systemie. Po prostu wracam do wersji ogórek i ogórek w wersji 1.0.2. Korzystanie z najnowszych wersji robiło to ...
źródło
Nawet jeśli zainstalujesz najnowszą wersję klejnotu z poprawnym formatem daty, pamiętaj, aby
gem cleanup GEMNAME
później, ponieważgem
nadal będzie narzekać na specyfikacje starszych bibliotek.źródło
Ponowna instalacja klejnotów może być rozwiązaniem w wielu z tych nieco różnych stanów maszyny.
W moim przypadku:
W moim przypadku inne, bardziej kreatywne rozwiązania zawiodły.
Mój problem
Invalid gemspec
pojawiał się, gdy próbowałem używać cocoapods.gem install cocoapods
Znowu pobiegłem i wszystko było różowe.źródło