2017-10-12 35 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