liferay / liferay-theme-tasks

A set of tasks for building and deploying Liferay Portal themes.
18 stars 24 forks source link

Running nmp install -g on theme fails on liferay-theme-unstyled #11

Closed duffbuster closed 8 years ago

duffbuster commented 8 years ago

I am trying to install a theme globally in order for it to be accessible as an extendable base theme. Running npm install -g on the parent theme breaks when the install script for liferay-theme-unstyled runs.

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node4-lts/4.2.3/bin/node" "/usr/local/bin/npm" "install" "-g"
npm ERR! node v4.2.3
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! liferay-theme-tasks@0.0.41 install: `node scripts/install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the liferay-theme-tasks@0.0.41 install script 'node scripts/install.js'.

It seems like when going to install the unstyled theme, the script can't locate the portal_normal.vm file, even though that file actually exists.

liferay-theme-unstyled@6.2.3 /usr/local/lib/node_modules/liferay-theme-unstyled

fs.js:549
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open '/usr/local/lib/node_modules/test-parent-theme/node_modules/liferay-theme-tasks/node_modules/liferay-theme-unstyled/templates/portal_normal.vm'
at Error (native)
at Object.fs.openSync (fs.js:549:18)
at Object.fs.readFileSync (fs.js:397:15)
at insertInjectTag (/usr/local/lib/node_modules/test-parent-theme/node_modules/liferay-theme-tasks/scripts/install.js:88:24)
at insertInjectTags (/usr/local/lib/node_modules/test-parent-theme/node_modules/liferay-theme-tasks/scripts/install.js:108:2)
at /usr/local/lib/node_modules/test-parent-theme/node_modules/liferay-theme-tasks/scripts/install.js:55:3
at ChildProcess.exithandler (child_process.js:194:7)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at maybeClose (internal/child_process.js:818:16)
robframpton commented 8 years ago

Hey Colin,

I'll have to take a look into our post install script to see why it's not letting you install it globally. You can achieve the same functionality if you use 'npm link' which makes the module available globally, but instead of copying over everything to your global node_modules directory it creates a symlink that points to the original. If you do it that way, the changes you make to the original base theme will immediately be available to the other themes.

On Fri, Dec 11, 2015 at 6:20 AM, Colin Mackey notifications@github.com wrote:

I am trying to install a theme globally in order for it to be accessible as an extendable base theme. Running npm install -g on the parent theme breaks when the install script for liferay-theme-unstyled runs.

npm ERR! Darwin 14.5.0 npm ERR! argv "/usr/local/Cellar/node4-lts/4.2.3/bin/node" "/usr/local/bin/npm" "install" "-g" npm ERR! node v4.2.3 npm ERR! npm v2.14.7 npm ERR! code ELIFECYCLE

npm ERR! liferay-theme-tasks@0.0.41 install: node scripts/install.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the liferay-theme-tasks@0.0.41 install script 'node scripts/install.js'.

It seems like when going to install the unstyled theme, the script can't locate the portal_normal.vm file, even though that file actually exists.

liferay-theme-unstyled@6.2.3 /usr/local/lib/node_modules/liferay-theme-unstyled

fs.js:549 return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode); ^

Error: ENOENT: no such file or directory, open '/usr/local/lib/node_modules/test-parent- theme/node_modules/liferay-theme-tasks/node_modules/liferay-theme-unstyled/templates/portal_normal.vm' at Error (native) at Object.fs.openSync (fs.js:549:18) at Object.fs.readFileSync (fs.js:397:15) at insertInjectTag (/usr/local/lib/node_modules/test-parent-theme/node_modules/liferay-theme-tasks/scripts/install.js:88:24) at insertInjectTags (/usr/local/lib/node_modules/test-parent-theme/node_modules/liferay-theme-tasks/scripts/install.js:108:2) at /usr/local/lib/node_modules/test-parent-theme/node_modules/liferay-theme-tasks/scripts/install.js:55:3 at ChildProcess.exithandler (child_process.js:194:7) at emitTwo (events.js:87:13) at ChildProcess.emit (events.js:172:7) at maybeClose (internal/child_process.js:818:16)

— Reply to this email directly or view it on GitHub https://github.com/liferay/liferay-theme-tasks/issues/11.

robframpton commented 8 years ago

Hey @duffbuster

Closing this as the post install script has been removed so it shouldn't be an issue anymore.