2017-10-12 54 views
1

13-10-2017上工作 - 自回答,见下文,问题解决了定制捆绑安装节点没有其他PC

13-10-2017 - 更新添加,看问题到底,仍然未解

说明第一,后面的问题:

我们的团队使用准备好的发展环境,我想补充所需建设的Liferay DXP主题与Liferay的主题generato节点部件河

我已经安装了Win64-Zip-Installation的节点,所以我只是将它解压缩到一个自定义目录(win10)。

我已经设置了环境变量并创建了.npmrc,前缀(npm-packages)和缓存(npm-cache)也驻留在上面提到的自定义目录中。

我已经通过NPM安装的其他必需的组件(一饮而尽,哟,发电机Liferay的主题,Liferay的主题任务,Liferay的主题 - DEPS-7.0,全部用-g)

所以,我的世界安装看起来像这样

custom directory 
       | 
       +--- node-v6.11.4-win-x64 
       | 
       +--- npm-cache 
       | 
       +--- npm-packages 

环境变量设置

NODE_PATH=(custom directory)\node-v6.11.4-win-x64;(custom directory)\npm-packages\node_modules 
NPM_PACKAGES=(custom directory)\npm-packages 

包括路径

Path=...;(custom directory)\node-v6.11.4-win-x64;(custom directory)\npm-packages 

而且.npmrc是这样

prefix=(custom directory)\npm-packages 
cache=(custom directory)\npm-cache 
proxy=(our proxy) 
registry=http://registry.npmjs.org/ 
fetch-retry-mintimeout=1000 
fetch-retry-maxtimeout=3000 
strict-ssl=false 

构建Liferay的DXP题材的作品在我的机器上 - WOMM

当我压缩完整的自定义文件夹并解压到另一个开发机器上(并在另一台机器上设置环境变量和.npmrc),构建不起作用。

错误消息(行家antrun EXEC gulp.cmd)是

[exec] Error: Cannot find module '(project directory)\node_modules\gulp\bin\gulp.js' 

去哪儿 “(项目目录)” 是我DXP主题源文件夹,而不是上面提到的自定义安装文件夹中。

其他命令显示在另一台机器上没有问题,例如像

node -v 
npm -v 
npm cache ls 

另外一个

npm install -g yo gulp 

工作尽快完成,并没有表现出错误。

更新

一次尝试昨天致电

npm install -g yo gulp 

在另一台机器上,这应该是对压缩文件的内容,唯一的区别。

呼叫

npm list -g 

显示其它机子

1099a1100 
> +-- [email protected] extraneous 
1222a1224,1226 
> | +-- [email protected] invalid 
> | | +-- [email protected] extraneous 
> | | `-- [email protected] extraneous 

这些差异的无效项yo.update-通知的孩子

接着再试试其他机器上

npm uninstall -g yo 
npm cache clear 
npm install -g yo 

我和其他机器之间新的diff

1211c1211 
< +-- [email protected] 
--- 
> +-- [email protected] 
1222a1223,1225 
> | +-- [email protected] 
> | | +-- [email protected] 
> | | `-- [email protected] 
1223a1227,1230 
> | +-- [email protected] 
> | | +-- [email protected] 
> | | `-- [email protected] 
> | | `-- [email protected] 
1257c1264 
< | +-- [email protected] 
--- 
> | +-- [email protected] 

但在另一台机器上,构建仍然抛出了同样的错误。

回答

0

自我应答,一些行家/ antrun/JDK魔法 - 我应一声我的头靠在墙上多次。

当我开始他提到我同事的机器上测试“我在JDK6,因为我开发这个那个”

“没问题”,我说,“这不是Java “

但是这个的问题。切换到jdk8使构建工作在同事的机器上。

也许我应该在没有maven的情况下测试命令行版本,只是在提示符上显示“gulp build”,因为我猜测,jdk问题与maven - > antrun/ant - > gulp有关,而不是与节点和使用时JDK6 /或吞掉本身

记住的误差():

[exec] Error: Cannot find module '(project directory)\node_modules\gulp\bin\gulp.js' 

摘要

可以设置含有GL一个压缩文件10:28节点安装,并用它在其他机器上,只是不要忘了

  • 没有使用的旧Java
  • 设置环境变量。npmrc内容您正在使用

  • 拉链包含一个解压缩安装节点(从为的NodeJS Win64中例如拉链)
  • 压缩包含节点包和节点 - 相匹配的目录缓存
  • 解压缩到C:\全球节点
  • 集NODE_PATH = C:\全球节点\节点v6.11.4共赢-64; C:\全球节点\ NPM-包\ node_modules
  • set NPM_PACKAGES = c:\ global-node \ npm-packages
  • set/extend path with“; c:\ global-node \ node-v6.11.4-win-x64; c:\ global-node \ npm -packages”
  • 你的〜/ .npmrc需要一个条目PREFIX = C:\全球节点\ NPM-包
  • 和条目缓存= C:\全球节点\ NPM-缓存

并且您已完成可重复使用的全局压缩节点安装。

0

你确定你在开发要求上有一些问题吗?

尝试 - npm install gulp --save-dev

+0

谢谢,你介意解释一些更多的细节?我是绝对node-noob,另一家公司使用Liferay IDE准备构建,我想将它作为命令行构建进行集成。你提到的这个命令到底是什么? – Gunnar

+0

该命令将glup模块保存为开发依赖项。如果你打开你的packages.json,你会看到它已被添加到正确的部分。请参阅 - https://stackoverflow.com/questions/19223051/grunt-js-what-does-save-dev-mean-in-npm-install-grunt-save-dev – Fraser

+0

我明白了,谢谢。但是你是否读过这样的主题构建:在我的机器上工作,但不在另一个开发人员机器上,当我将完整的安装压缩并解压缩到那里?你的提示与这个问题有关吗? – Gunnar