簡體   English   中英

使用Grunt進行ENOTSUP

[英]ENOTSUP using Grunt

我正在使用Grunt來縮小和連接AngularJS Web應用程序的文件。 我們的源代碼位於文件共享上,我通過映射驅動器連接到它。 每當Grunt在我的源目錄上運行時,我的一個concat任務就會出錯。 錯誤是“ENOTSUP,套接字不支持操作”。 如果我復制源,本地,Grunt運行,很好。 為了我們的源代碼控制,我需要Grunt來監視並運行映射的驅動器。 concat任務使用grunt-contrib-concat。 我已經嘗試重新安裝Node並將grunt-contrib-concat回滾到版本0.4.0。 那沒用。 任何幫助/想法將不勝感激。

編輯:

Grunt中給出錯誤的代碼是:

  jscustom: {
            src: ['src/js/*.js', 'src/js/**/*.js', 'build/temp/templates.js'],
            dest: 'build/temp/custom.js'
}

如果我從上面的代碼中刪除“'src / js / ** / * .js',”並執行我的Grunt任務,則不會發生ENOTSUP錯誤。 我需要使用那些通配符來包含所有目錄和文件。

當我們開始部署到Azure時,我們遇到了這個問題。

問題很可能是由於glob中的一個錯誤(Grunt有依賴關系)。

這個bug早就修復了(參見github issue 205 ),但遺憾的是NPM上的最新穩定版本是0.4.5(兩年前發布) - 它依賴於glob版本3.1.21(當前版本是6.0.4) )。

所以解決這個問題的方法是:

a)通過從github克隆而不是使用npm來獲取grunt

要么

b)在npm install之后,導航到/node_modules/grunt並執行npm install glob@^6.0.4 --save以升級已安裝的grunt版本的glob依賴項。

在deploy.sh中,npm install可能如下所示:

eval $NPM_CMD install

您需要在它之后添加以下內容

pushd ./node_modules/grunt
eval $NPM_CMD install glob@^6.0.4 --save
popd

注意; 更改/ ** /到/ * /擺脫了錯誤,但隨后你放棄了遞歸副本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM