Max*_*ung 8 teamcity ramdisk ionic-framework angular
我们正在开发一个新的 angular ionic 应用程序,它构建在我们所有的 powershell 机器上,但在我们的构建机器上,当它将文件从 perforce 拉到我们的 D: 驱动器时,它无法构建。我们的构建机器使用 teamcity,我们使用 powershell 构建步骤来运行我们的 ng 命令。我可以使用完全相同的文件,如果我将 powershell 脚本明确指向它们,它们就会构建(我什至在执行此操作之前删除了 node_modules)。
这是我们得到的错误。我删除了与我们的构建机器相关的路径部分,以保持其清洁。
ERROR in ./src/global.scss (<path to application>/node_modules/css-loader/dist/cjs.js??ref--13-1!<path to application>/node_modules/postcss-loader/src??embedded!/node_modules/sass-loader/dist/cjs.js??ref--13-3!./src/global.scss)
Module build failed (from <path to application>/node_modules/postcss-loader/src/index.js):
Error: Failed to find '@ionic/angular/css/core.css'
in [
<path to application>\projects\ta\src
]
at resolveModule.catch.catch (<path to application>\node_modules\postcss-import\lib\resolve-id.js:35:13)
@ ./src/global.scss 2:26-225
@ multi ./src/theme/variables.scss ./src/global.scss ./src/theme/site.scss
Run Code Online (Sandbox Code Playgroud)
我检查了@ionic/angular/css/core.css文件是否真的丢失了,即使找不到它,它也在 node_modules 中。
我们使用下面的命令来构建
ng run ta:build --verbose
Run Code Online (Sandbox Code Playgroud)
我们正在使用各种软件的以下版本
我对构建 Angular 应用程序不是很熟悉,所以如果你需要我提供其他信息,请告诉我,我可以提供。
{
"name": "tenantapp",
"version": "0.0.1",
"author": "Ionic Framework",
"homepage": "https://ionicframework.com/",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"start:ta": "node --max-old-space-size=8192 \"node_modules\\@angular\\cli\\bin\\ng\" serve ta --open",
"build:ionic": "ionic build"
},
"private": true,
"dependencies": {
"@angular/animations": "^10.0.9",
"@angular/cdk": "^10.1.3",
"@angular/common": "~9.1.6",
"@angular/core": "~9.1.6",
"@angular/forms": "~9.1.6",
"@angular/material": "^10.1.3",
"@angular/platform-browser": "~9.1.6",
"@angular/platform-browser-dynamic": "~9.1.6",
"@angular/router": "~9.1.6",
"@angular/service-worker": "~9.1.6",
"@capacitor/android": "^2.3.0",
"@capacitor/core": "2.3.0",
"@capacitor/ios": "^2.3.0",
"@ionic-native/core": "^5.0.7",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic/angular": "^5.0.0",
"@ionic/cli": "^6.12.1",
"@ionic/pwa-elements": "^3.0.1",
"fibers": "^3.1.0",
"ng-recaptcha": "^6.0.2",
"node-sass": "^4.14.1",
"primeng": "^10.0.0-rc.3",
"rxjs": "^6.5.5",
"tslib": "^1.10.0",
"zone.js": "~0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.901.5",
"@angular/cli": "~9.1.5",
"@angular/compiler": "~9.1.6",
"@angular/compiler-cli": "~9.1.6",
"@angular/language-service": "~9.1.6",
"@capacitor/cli": "2.3.0",
"@ionic/angular-toolkit": "^2.1.1",
"@types/jasmine": "~3.5.0",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1",
"codelyzer": "^5.1.2",
"jasmine-core": "~3.5.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~5.0.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~2.1.0",
"karma-jasmine": "~3.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"protractor": "~5.4.3",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "~3.8.3"
},
"description": "An Ionic project"
}
Run Code Online (Sandbox Code Playgroud)
编辑:我在最初的问题中没有提到这一点,但 D: 驱动器是一个 ram 磁盘。最终,这最终成为非常重要的信息,我更新了问题以包括这个和 ramdisk 标签,所以希望其他人会比我将来更快地找到这个解决方案。
我们终于通过调试 fs.js 找到了问题,我们会得到以下错误。这个错误是在较低级别捕获的,我们只在我的问题中得到了错误,而没有调试到 fs.js。
EISDIR: illegal operation on a directory
Run Code Online (Sandbox Code Playgroud)
我们遇到的问题是因为我们的 D: 驱动器是使用名为ImDisk 的应用程序创建的。ImDisk 实用程序显然会生成一个与 fs.js 检查是否可以与目录交互的某些条件不匹配的驱动器。我们转而使用goal_ll.exe,因为这个 github问题上的评论有很多人报告了 ImDisk 的问题,但没有太多关于 ImDisk 与 aim_ll.exe 的不同之处的信息。
编辑:最近我想看看是否可以找到一种方法来进行健康检查/Nagios 警报,以检查 ram 磁盘是否缺少 github 评论中提到的标志。我曾经fsutil fsInfo volumeInfo <drive name>获取每个驱动器的卷信息并注意到以下差异。
安装有im_ll
PS C:\scripts> fsutil fsInfo volumeInfo D:
Volume Name :
Volume Serial Number : 0x147ac565
Max Component Length : 255
File System Name : NTFS
Is ReadWrite
Not Thinly-Provisioned
Supports Case-sensitive filenames
Preserves Case of filenames
Supports Unicode in filenames
Preserves & Enforces ACL's
Supports file-based Compression
Supports Disk Quotas
Supports Sparse files
Supports Reparse Points
Returns Handle Close Result Information
Supports POSIX-style Unlink and Rename
Supports Object Identifiers
Supports Encrypted File System
Supports Named Streams
Supports Transactions
Supports Hard Links
Supports Extended Attributes
Supports Open By FileID
Supports USN Journal
Run Code Online (Sandbox Code Playgroud)
使用imdisk挂载
PS C:\scripts> fsutil fsInfo volumeInfo E:
Volume Name :
Volume Serial Number : 0xe82847c7
Max Component Length : 255
File System Name : NTFS
Is ReadWrite
Error: Incorrect function.
Supports Case-sensitive filenames
Preserves Case of filenames
Supports Unicode in filenames
Preserves & Enforces ACL's
Supports file-based Compression
Supports Disk Quotas
Supports Sparse files
Supports Reparse Points
Returns Handle Close Result Information
Supports POSIX-style Unlink and Rename
Supports Object Identifiers
Supports Encrypted File System
Supports Named Streams
Supports Transactions
Supports Hard Links
Supports Extended Attributes
Supports Open By FileID
Supports USN Journal
Run Code Online (Sandbox Code Playgroud)
此行出现在 imdisk 制作的磁盘中,
Error: Incorrect function.我不确定为什么在制作驱动器时忽略了这一行,但如果您正在寻找一种方法来检测驱动器是否适用于各种工具,那么这似乎是重要的区别进行测试。
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |