Since NS7 update, some plugins fail building with "Error: spawn ./gradlew EACCES"
@rigor789 đang làm issue này rồi.
Từ ngày 4/9/2020.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
I personally haven't tested it on Windows, so there might not be any problems on that platform because the build scripts are handled separately.
Since the update to NS7 a few days ago, there have been multiple people on the NSCommunity Slack reporting this. I personally have encountered the problem in relation to nativescript-socket.io, but it's not specific to it, as it actually boils down to an issue in the CLI.
The problem is two-fold: first, the EACCES error is caused by the gradlew file not being being marked as executable. Once this is fixed, errors relating to the carriage return character start popping up. The issue now is that the gradlew file uses windows style newline (\r\n) instead of *nix style newline (\n). I've implemented a quick and dirty fix, but this only solves the symptoms, it doesn't solve the problem at the root cause as I'm not familiar enough with NS to know which part of the tooling generates the gradlew file when building plugins.
The temporary fix involves editing a file in the NS CLI:
- in the global node_modules folder (unless NS is locally installed under the project's devDependencies), find
nativescript/lib/services/android-plugin-build-service.js - anywhere at the top of the file (maybe between lines 19-24 for consistency's sake) add
const fs = require("fs"); - at line 413 (formerly 412 before the above addition) add:
if (!this.$hostInfo.isWindows) {
const gradleFile = path.join(pluginBuildSettings.pluginDir, gradlew);
let content = fs.readFileSync(gradleFile, {encoding:'utf8', flag:'r'});
content = content.replace(/\r/g, '');
fs.writeFileSync(gradleFile, content);
fs.chmodSync(gradleFile, 0o755, (err) => {
if (err) {
console.log("Error changing setting gradlew as executable");
throw err;
}
});
}
- Ngôn ngữ chính
- JavaScript
- Star
- 1.1k
- Fork
- 204
- Merge trung bình
- 1 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 8
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NativeScript/nativescript-cli
-
in-progress
NativeScript/nativescript-cli#6140 · 2 bình luận · 1 người được giao ·
-
NativeScript/nativescript-cli#6090 · 1 người được giao ·
-
in progress
NativeScript/nativescript-cli#6015 · 1 reaction · 1 người được giao ·
-
question
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
NativeScript/nativescript-cli#5992 · 5 bình luận ·
-
feature-pending-triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
NativeScript/nativescript-cli#5975 ·
Tất cả issue của NativeScript/nativescript-cli
Issue tương tự
-
Edit: CW+ Đang mởchannels:edit check:passed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
스택 PR 머지 시 하위 PR base 재지정 단계 부재 Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
idean3885/claude-ops-agent#521 ·
-
[Nytt ikon]: menu-search Đang mởforespørsel 🥰 ikoner 🖼 nytt ✨
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
avniproject/avni-client#2135 ·
-
automated broken-link
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100