[英]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.