






























Please remove --user root to avoid installing the root npm module
This diff fixes the package so that it does not conflict with eslint. Also creates missing directories during build:
diff --git a/PKGBUILD b/PKGBUILD
index 1fc1a6e..9613a7d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,11 +14,16 @@ md5sums=('6c5a3f99efffe1390194abf49f24b55b')
noextract=($pkgname-$pkgver.tgz)
package() {
- npm install --verbose -g --user root --prefix "$pkgdir"/usr "$srcdir"/$pkgname-$pkgver.tgz
+ install -dm 755 "$pkgdir/usr/lib"
+ npm install -g --user root --prefix "$pkgdir"/usr "$srcdir"/$pkgname-$pkgver.tgz
# Fix permissions
find "$pkgdir/usr" -type d -exec chmod 755 '{}' +
+ # Remove files that conflict with `eslint`:
+ rm -rf "$pkgdir/usr/lib/node_modules/eslint/"
+ rm -rf "$pkgdir/usr/bin/eslint"
+
install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}"
ln -s ../../../lib/node_modules/$pkgname/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Installing this package fails, since it also includes eslint:
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/word-wrap/LICENSE exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/word-wrap/README.md exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/word-wrap/index.d.ts exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/word-wrap/index.js exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/word-wrap/package.json exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/wrappy/LICENSE exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/wrappy/README.md exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/wrappy/package.json exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/wrappy/wrappy.js exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/yallist/LICENSE exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/yallist/README.md exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/yallist/iterator.js exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/yallist/package.json exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/node_modules/yallist/yallist.js exists in filesystem (owned by eslint)
eslint-plugin-vue: /usr/lib/node_modules/eslint/package.json exists in filesystem (owned by eslint)
I'm getting this error when building. Any hints?
npm timing idealTree:node_modules/eslint/node_modules/string-width/node_modules/ansi-regex Completed in 0ms
npm timing idealTree:buildDeps Completed in 2768ms
npm timing idealTree:fixDepFlags Completed in 3ms
npm timing idealTree Completed in 2888ms
npm timing command:install Completed in 2892ms
npm verb stack Error: ENOENT: no such file or directory, lstat '/home/hugo/tmp/eslint-plugin-vue/pkg/eslint-plugin-vue/usr'
npm verb cwd /home/hugo/tmp/eslint-plugin-vue/src
npm verb Linux 5.9.8-arch1-1
npm verb argv "/usr/bin/node" "/usr/bin/npm" "install" "--verbose" "-g" "--user" "root" "--prefix" "/home/hugo/tmp/eslint-plugin-vue/pkg/eslint-plugin-vue/usr" "/home/hugo/tmp/eslint-plugin-vue/src/eslint-plugin-vue-7.1.0.tgz"
npm verb node v15.2.1
npm verb npm v7.0.5
npm ERR! code ENOENT
npm ERR! syscall lstat
npm ERR! path /home/hugo/tmp/eslint-plugin-vue/pkg/eslint-plugin-vue/usr
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, lstat '/home/hugo/tmp/eslint-plugin-vue/pkg/eslint-plugin-vue/usr'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm verb exit -2
npm timing npm Completed in 3094ms
npm ERR! A complete log of this run can be found in:
npm ERR! /home/hugo/.npm/_logs/2020-11-22T21_53_02_890Z-debug.log
==> ERROR: A failure occurred in package().
Edit: Output of using makepkg rather than yay.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
@christoph.gysin That still tries to install files that conflict with
eslint:(That one and dozens others)
@rkcf Are you still maintaining this? I can adopt it if not; it's been broken since last year.