2014-07-11 16 views
14

Sadece bir düğüm projesi oluşturdum ve bower'ı kullanarak jquery yüklemeye çalışıyorum. Ben diğer paketlerin yüklenmesi denedimBower - paketi yüklenirken hata "path.join için arguments dizeleri olmalı"

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 

ve aynı hata ile başarısız:

bower install jquery 

aşağıdaki hatayı alıyorum. Bildiğim kadarıyla güzel bir vanilya kurulumum var. Windows 8.1 x64 çalıştıran. Neden bu hatayı alıyorum hakkında alakalı bilgi görünmüyor.

+1

Aynı sorunu yaşıyorum. Daha önce çalışan (1.3.5) ve npm önbelleğimi boş yere temizleyen bower'ın son sürümüne geçmeyi denedim. Ayrıca bower_json dosyası, bower_components klasörümüzü kaldırdım ve hala tüm paketler için (-S bayrağıyla veya olmadan) hatayı al ... –

+0

Bummer. En azından bu konuda yalnız değilim. Ayrıca npm önbellek klasörümü silerken şansım yoktu. – Adam

+0

Bende. Bu Github (GitHubResolver) ile bir sorun olup olmadığını merak ediyorum? Bu, geçen saatte aniden bir sorun haline geldi. – CMikeB1

cevap

21

Düzeltme: Clear cache and update to Bower 1.3.8.

This neler olduğunu: hala bu işe çalışan diğer kişiler için

The tmp package updated it's API to return a cleanup callback in addition to just the directory name. Q then squashes the two arguments to the callback into an array, while bower expected just a string for the directory name.

This causes "TypeError: Arguments to path.join must be strings" errors to appear, seemingly non-deterministic, because various spots attempt to use the _tempDir value (now an array) to join into a path.

semver ftw!

+0

Harika! Teşekkürler, yedekleyin ve çalışın. Bu 0day böceklerini bulmak için bana bırak: D – Adam

+0

Bir şey değil, bu da bana biraz saçını uzattı. Neyse ki Bower twitter feed'inde tökezledim. Bower milletinde, her şeyin üstünde olduğun için iyiyim. – CMikeB1

1

, bu benim için hile yaptı:

bower cache clean 
1

bana npm install -update bower için yeterli değildi.

Ben açık bunu specifing sürümünü yüklemek için gereken:

sudo npm install -q [email protected]

ve evet, sudo ile bu çalıştırmak zorunda kaldı.

İlgili konular