13-10-2017 - 自我回答,见下文,问题已解决
13-10-2017 - 更新已添加,请参阅问题末尾,尚未解决
首先说明,问题稍后:
我们的团队使用准备好的开发环境,我希望使用liferay主题生成器添加构建Liferay dxp主题所需的节点组件。
我已经从Win64-Zip-Installation安装了节点,所以我只是将它解压缩到一个自定义目录(win10)。
我设置了环境变量并创建了.npmrc,前缀(npm-packages)和缓存(npm-cache)也驻留在上面提到的自定义目录中。
我已经通过npm安装了额外的必需组件(gulp,yo,generator-liferay-theme,liferay-theme-tasks,liferay-theme-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)时,构建不起作用。
错误消息(maven antrun exec gulp.cmd)是
[exec] Error: Cannot find module '(project directory)\node_modules\gulp\bin\gulp.js'
其中"(项目目录)"是我的DXP主题源文件夹,而不是上面提到的自定义安装文件夹。
其他命令在其他计算机上显示 no 问题,例如
node -v
npm -v
npm cache ls
也是
npm install -g yo gulp
快速完成并且没有显示错误。
更新
昨天一次尝试打电话
npm install -g yo gulp
在另一台机器上,这应该是zipfile内容的唯一区别。
电话
npm list -g
在另一台机器上显示这些差异
1099a1100
> +-- is-installed-globally@0.1.0 extraneous
1222a1224,1226
> | +-- chalk@2.1.0 invalid
> | | +-- ansi-styles@3.2.0 extraneous
> | | `-- supports-color@4.4.0 extraneous
无效条目是yo.update-notifier
的子项接下来试试另一台机器
npm uninstall -g yo
npm cache clear
npm install -g yo
我和其他机器之间的新差异
1211c1211
< +-- update-notifier@2.2.0
---
> +-- update-notifier@2.3.0
1222a1223,1225
> | +-- chalk@2.1.0
> | | +-- ansi-styles@3.2.0
> | | `-- supports-color@4.4.0
1223a1227,1230
> | +-- is-installed-globally@0.1.0
> | | +-- global-dirs@0.1.0
> | | `-- is-path-inside@1.0.0
> | | `-- path-is-inside@1.0.2
1257c1264
< | +-- diff@3.3.1
---
> | +-- diff@3.4.0
但是在另一台机器上的构建仍然会引发同样的错误。
答案 0 :(得分:0)
您确定您已经了解了开发要求吗?
尝试 - npm install gulp --save-dev
答案 1 :(得分:0)
自我回答,一些maven / antrun / jdk魔法 - 我应该多次撞到墙上。
当我开始在同事的机器上进行测试时,他提到了&#34;我在jdk6上因为我正在开发这个&#34;
&#34;没问题&#34; ,我说,&#34;它不是java&#34; 。
但这 问题。切换到jdk8使得构建工作在同事的机器上。
也许我应该在没有maven的情况下测试命令行构建,只需&#34; gulp build&#34;在提示符上,因为我猜,jdk问题与maven有关 - &gt; antrun / ant - &gt; gulp而不是节点和/或gulp本身(?)
使用jdk6时记住错误:
[exec] Error: Cannot find module '(project directory)\node_modules\gulp\bin\gulp.js'
<强>摘要强>
您可以设置包含全局节点安装的zipfile并在其他计算机上使用它,不要忘记
示例强>
您已经完成了可重用的全局压缩节点安装。