我在Openshift PaaS中使用Nodejs 0.10。我有一個Npm json包,具有諸如Gulp之類的依賴關係,可以構建諸如Gulp-sass,Gulp-usemin,Bower等任務。它們在構建action_hook腳本中啓動。Openshift和建設與吞嚥
Jenkins上的日誌顯示依賴Gulp-utils的錯誤,版本爲:^ 2.2.0,但Opensift上的Npm不喜歡這個字符^,這個依賴不在我的package.json中,而是在孩子的內部。
下載過期間npm ERR! Error: No compatible version found: [email protected]'^2.2.0'
,一個ENOTEMPTY錯誤:
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/var/lib/openshift/xxxxxx/app-root/runtime/repo/node_modules/gulp-bundle/node_modules/glob/test'
的ENOENT錯誤:
npm ERR! Error: ENOENT, lstat '/var/lib/openshift/xxxxxx/app-root/runtime/repo/node_modules/gulp-notify/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._escapestringchar/README.md'
的EEXIST錯誤:
npm ERR! EEXIST, mkdir '/var/lib/openshift/xxxxxx/app-root/runtime/repo/node_modules/gulp-notify/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash._shimkeys' File exists, Move it away, and try again.
存檔文物後,Jenkins完成了FAILURE。使用Nodejs v0.10.26進行測試,但存在類似的錯誤。