这是最奇怪的问题,并且只发生在 npm 模块中的一个 iOS 框架上(我注意到)。
当点击框架时(在 npm 发布之前)我看到:
frameworkname.framework
|
- Headers (dir)
- frameworkname
- Versions (dir)
|
-A (dir)
-Current (dir)
我将此模块发布到私有(private) npm 服务器。当我安装 npm 模块时,框架已损坏。我明白了:
frameworkname.framework
|
- Headers (dir) MISSING
- frameworkname MISSING
- Versions (dir)
|
-A (dir)
-Current (dir) MISSING
看完http://www.raywenderlich.com/65964/create-a-framework-for-ios看起来丢失的文件是符号链接(symbolic link)。有没有其他人见过这种行为?如何防止符号链接(symbolic link)在 npm 过程中丢失?
最佳答案
丢失的文件是符号链接(symbolic link),不幸的是,npm 不支持符号链接(symbolic link)。作为一种解决方法,您可以将链接替换为它们的目标(并删除目标以防止重复)。
例如对于具有以下结构的框架 FFF:
./FFF -> Versions/Current/FFF
./Headers -> Versions/Current/Headers
./Versions
./Versions/A
./Versions/A/FFF
./Versions/A/Headers
./Versions/Current -> A
您可以从框架目录中运行以下命令(在 bash 中):
framework=FFF && rm $framework Headers && mv Versions/A/{$framework,Headers} . && rm -rf Versions
将结构更改为:
./FFF
./Headers
关于ios - npm 发布模块包括 iOS 框架。当 npm 安装该模块时,iOS 框架已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29377635/