2014-02-10 53 views
0

我有一个Java spring作为服务器堆栈,而angularJS作为UI堆栈。如何在Openshift Tomcat服务器上安装Yeoman

构建过程的一部分我需要Jenkins运行Grunt build以在构建过程开始之前优化UI。

我试图在詹金斯实例上安装Yeoman,但因为我不是管理员,所以我得到Access错误。这就是-g标志做什么 -

[\> npm install -g yo 
npm ERR! Error: EACCES, mkdir '/var/lib/openshift/<ID>/.npm' 
npm ERR! { [Error: EACCES, mkdir '/var/lib/openshift/<ID>/.npm'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/var/lib/openshift/<ID>/.npm' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

回答

3

你,因为你试图做一个全球性的安装得到一个访问错误。换句话说,您试图将yeoman安装在系统范围的位置而不是本地,这需要root权限。

此外,你不应该需要在生产环境中安装yeoman - yeoman只是应用脚手架。如果你在本地使用yeoman,它应该添加grunt和你需要的任何grunt插件到app.json文件中。确保package.json文件已签入,然后作为构建过程的一部分,可以运行npm install,然后运行grunt build

我不确定Jenkins如何影响构建过程,但通常,当您向OpenShift应用程序推送新提交时,npm install会自动运行。

+0

+1在全球范围提及'-g'安装 –

相关问题