Pytanie Bower - błąd podczas instalowania pakietu "Argumenty do path.join muszą być ciągami"


Właśnie stworzyłem projekt węzła i próbuję zainstalować jquery za pomocą bower.

bower install jquery

Pojawia się następujący błąd:

bower jquery#*              not-cached git://github.com/jquery/jquery.git#*
bower jquery#*                 resolve git://github.com/jquery/jquery.git#*
bower jquery#*                   error Arguments to path.join must be strings

Stack trace:
TypeError: Arguments to path.join must be strings
    at f (path.js:204:15)
    at Object.filter (native)
    at Object.exports.join (path.js:209:40)
    at GitHubResolver._checkout (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\lib\core\resolvers\GitHubResolver.js:54:21)
    at C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\lib\core\resolvers\GitResolver.js:69:21
    at _fulfilled (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\p-throttler\node_modules\q\q.js:798:54)
    at self.promiseDispatch.done (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\p-throttler\node_modules\q\q.js:827:30)
    at Promise.promise.promiseDispatch (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\p-throttler\node_modules\q\q.js:760:13)
    at C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\p-throttler\node_modules\q\q.js:574:44
    at flush (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\p-throttler\node_modules\q\q.js:108:17)

Console trace:
Trace
    at StandardRenderer.error (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\lib\renderers\StandardRenderer.js:72:17)
    at Logger.<anonymous> (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\bin\bower:111:22)
    at Logger.emit (events.js:95:17)
    at Logger.emit (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\bower-logger\lib\Logger.js:29:39)
    at C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\lib\commands\index.js:40:20
    at _rejected (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:797:24)
    at C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:823:30
    at Promise.when (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:1035:31)
    at Promise.promise.promiseDispatch (C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:741:41)
    at C:\Users\Adam\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:557:44

System info:
Bower version: 1.3.7
Node version: 0.10.29
OS: Windows_NT 6.2.9200 x64

Próbowałem już instalować inne pakiety i zawodzą z tym samym błędem. Z tego, co wiem, mam całkiem niezłą konfigurację wanilii. Uruchamianie systemu Windows 8.1 x64. Nie można znaleźć odpowiednich informacji o tym, dlaczego pojawia się ten błąd.


14
2017-07-11 20:55


pochodzenie


Mam ten sam problem. Próbowałem obniżyć do ostatniej wersji bower, która działała wcześniej (1.3.5) i czyściła moją pamięć podręczną npm bez skutku. Również usunięto mój plik bower.json, folder bower_components i nadal otrzymuję błąd dla wszystkich pakietów (z lub bez flagi -S) ... - Tomas Buteler
Bummer. Przynajmniej nie jestem w tym odosobniony. Nie miałem też szczęścia przy usuwaniu folderu pamięci podręcznej npm. - Adam
Ja też. Zastanawiam się, czy to jest problem z Github (GitHubResolver)? To wydaje się nagle stać się problemem w ciągu ostatniej godziny. - CMikeB1


Odpowiedzi:


Naprawić: Wyczyść pamięć podręczną i aktualizację do Bower 1.3.8.

To co się dzieje:

Pakiet tmp zaktualizował swój interfejs API, aby zwrócić wywołanie zwrotne   dodatek tylko do nazwy katalogu. Q następnie zgniata dwa argumenty   do wywołania zwrotnego do tablicy, podczas gdy altana oczekuje tylko ciągu znaków   nazwa katalogu.

Powoduje to błędy "TypeError: Arguments to path.join is be string"   pojawiać się, pozornie niedeterministyczny, ponieważ próbują różnych miejsc   aby użyć wartości _tempDir (teraz tablica) do dołączenia do ścieżki.

semver ftw!


21
2017-07-11 21:20



Niesamowite! Dzięki, wróć i pracuj. Zostaw to mi, aby znaleźć te 0day bugi: D - Adam
Nie ma za co, to też sprawiło, że wyciągnąłem trochę włosów. Na szczęście natknąłem się na karmę twitterową Bower. Dobry na ludziach z Bower za bycie na szczycie. - CMikeB1


Dla innych osób, które wciąż w to biorą udział, zrobiłem to dla mnie:

bower cache clean

1
2017-08-23 19:11





Dla mnie npm install -update bower nie było wystarczające.

Musiałem zainstalować wersję, określając ją jawnie:

sudo npm install -q bower@1.3.8

i tak, musiałem to uruchomić sudo.


1
2018-01-29 14:53