Tag: 符号链接

获取__dirname指向文件夹path,而不是实际连接的文件夹path

如何让__dirname指向保存的文件夹path,而不是使用npm链接的符号链接文件的实际path。 脚本 文件夹设置 project | —- moduleA | | | —- moduleA.js | —- app | — node_modules cd project/moduleA npm link cd project/app npm link moduleA 在moduleA.js里面 __dirname -> /project/moduleA 但是,预期的行为是 __dirname -> /project/app/node_modules/moduleA 因为npm链接会创build一个sym-link,将链接的模块插入到node_modules文件夹中,从而模拟直接安装模块的体验。 我怎样才能让__dirname指向保存的path,而不是模块所在的真实path? 注意:–preserve-symlinks命令行选项不会影响__dirname的值

fs.symlink给我ELOOP错误

> fs.symlinkSync('client', 'build/client', 'dir') > fs.statSync('build/client/index.js') Error: ELOOP, too many symbolic links encountered 'build/client/index.js' at Object.fs.lstatSync (fs.js:679:18) at repl:1:5 at REPLServer.self.eval (repl.js:110:21) at Interface.<anonymous> (repl.js:239:12) at Interface.EventEmitter.emit (events.js:95:17) at Interface._onLine (readline.js:202:10) at Interface._line (readline.js:531:8) at Interface._ttyWrite (readline.js:760:14) at ReadStream.onkeypress (readline.js:99:10) at ReadStream.EventEmitter.emit (events.js:98:17) 我究竟做错了什么?

符号链接SublimeText3构build系统问题(Mac到PC)

有没有办法不链接构build系统,因为他们不会跨平台工作(但让符号链接pipe理其他任何东西),或告诉Sublime'忽略'具有特定名称的构build系统,所以我可以创buildPC版本而没有链接的Mac版本打破构build? 例如,我有一个nodeJS构build系统和一个chrome构build(用于快速启动浏览器),但显然,Mac和PC之间的path是不同的,当符号链接对我的PC来说是神奇的时候,每个构build系统都被破坏。 另外我想添加 – 我试图保持构builddynamicselect(通过select器),所以我不想要一个解决scheme,build议只创build我的Windows特定的构build和手动select它们! 谢谢 :)

服务器/客户端的好的Git体系结构?

我即将开始一个非常大的项目。 这个项目是一个网站。 后端将与节点 前端将主要与Angular 后端将成为一个API(这是一个很酷的angular度),但也(以后)的Android应用程序。 前端将是这个回购叉: https : //github.com/maxime1992/webTemplate ,我想能够从上游拉动叉保持最新。 我想知道。 我应该如何pipe理它? 我应该只创build一个回购,包含与Git子模块或子树的后端和前端。 我应该创build两个分离的回购,一个用于前端,一个用于后端,然后使用符号链接将它们放在一起? 但是,如果有人想在Windows上运行它…太糟糕了。 我希望这个项目在GitHub上是开源的,所以我希望为大家提供一些清晰和简单的东西:) 告诉我你会怎么做,什么是好的,什么是错的,我真的很好奇!

提交时在node.js中的符号链接

我试图在VirtualBox(客户端Ubuntu,主机Win7)中的共享文件夹上创buildnode.js(express.js)应用程序。 在这个尝试期间,我得到一个错误,说我的驱动器不支持符号链接。 这是一个小问题,但… 如果符号链接对节点项目非常重要,那么可以将项目存储在SVN服务(忽略符号链接)上。 或者,如果我用项目压缩目录并将其发送给某人会发生什么情况。 它还能工作吗? 这似乎是一个愚蠢的问题,但我刚刚创buildexpress.js项目由符号链接不支持的消息引起的错误。

Symlinking一个大文件,但得到path符号链接从

我很抱歉,如果这似乎是显而易见的,但我是比较新的节点,我找不到解决scheme。 目前我正在开发一个项目,我们在仓库中有多个站点,他们都需要build立一个大嘴。 构build每个站点的过程本质上是相同的,所以我们希望将gulpfile.js移出每个站点的子目录,并移动到repo的根目录,并将其链接到每个子目录中。 这使我们不需要维护多个gulpfiles并需要重复的node_modules。 运行安装脚本来符号链接gulp文件,并在克隆后运行npm install ,除了一个小问题之外,运行得非常好; 我们需要在每个站点的目录中引用package.json文件,以获取其名称,版本等作为一些吞噬任务的一部分。 当我符号链接gulp文件时, var pkg = require('./package.json')总是parsing到repo根目录下的package.json ,而不是从那里调用符号链接(这是有道理的,但不是我需要)。 我怎样才能保持gulpfile的符号链接结构,但require('./package.json')parsing./Site_1/package.json而不是./package.json . ├── Site_1 │ ├── README.md │ ├── config.yml │ ├── dist │ ├── gulpfile.js -> ../gulpfile.js │ ├── package.json │ └── src ├── Site_2 │ ├── README.md │ ├── config.yml │ ├── dist │ ├── gulpfile.js -> ../gulpfile.js │ […]

我有很多破碎的自制软件符号链接,我该怎么办?

我在8个月前通过自制软件安装了node 。 我只是试图通过自制软件升级节点,它没有工作。 相反,我得到了一些消息,鼓励我运行一行代码来修复它(我忘记了代码),但是我认为它破坏了我的npm,因为我的npm停止了工作,现在我得到错误: zsh: command not found: npm运行任何npm命令时。 我继续完全卸载节点与本指南 然后我开始用本指南通过自制软件重新安装节点 当我跑啤酒医生时,我发现我有很多错误的symlinks ,包括许多npm文件,例如: /usr/local/share/man/man1/npm-README.1 /usr/local/share/man/man1/npm-access.1 /usr/local/share/man/man1/npm-adduser.1 (以及其他大约60个npm文件和其他文件): 在/ usr / local / bin目录/咕噜 在/ usr / local / bin目录/一饮而尽 我从哪里出发? 我只是想通过自制软件重新安装node和npm ,以便它们正常工作。 我应该用brew prune:删除损坏的符号链接brew prune:还是会给我造成更多的问题? 谢谢。

为OS X构build重复数据删除应用程序,我应该如何使用它作为文件的哈希值

我即将开始编程之旅,毫无疑问,它将以失败告终,并且/或者将我的鼠标通过我的Mac投掷出去,但这是一个有趣的问题。 我想要构build一个应用程序,该应用程序从基本目录开始扫描,然后循环遍历每个文件,如果find完全相同的重复文件,则将其删除,并在其位置上创build符号链接。 基本上穷人重复数据删除。 这实际上解决了一个真正的问题,因为我的Mac上有一堆重复的文件,我需要释放磁盘空间。 从我所读到的,这是战略: 通过recursion循环,并为每个文件生成一个散列。 散列需要非常独特。 这是第一个问题。 我应该使用什么散列? 我如何通过这个神奇的散列运行每个文件的整个二进制内容? 将每个文件散列和全path存储在键/值存储中。 我认为redis是一个非常好的select,因为它的速度。 遍历键/值存储区,查找重复的哈希值,删除重复的文件,创build符号链接,并将键/值存储区中的行标记为副本。 因此我的问题是: 我应该为每个文件使用什么散列algorithm? 这是怎么做的? 我在考虑使用node.js,因为节点通常在I / Otypes的东西上很快。 问题是节点吸取CPU密集的东西,所以哈希可能是瓶颈。 我还有什么其他的缺点?

如何缩小使用'npm link'创build的符号链接节点模块?

我一次在两个仓库工作。 一个依赖于另一个(在package.json依赖项中列出)。 所以我使用npm link ..\theOne来同时在两个模块上工作。 因此,我可以在另一个模块上testing修改。 问题是当在这个other模块上进行npm shrinkwrap时:它会产生如下错误: npm ERR! extraneous C:\other\node_modules\theOne\node_modules\{xxxx} {xxxx}是对npm显示为无关的dev依赖关系。 任何人都已经成功地用一个符号链接来压缩一个模块到另一个模块? 注意: npm 3.10.3 节点6.3.0

正确configuration依赖本地软件包的NPM软件包

我有三个本地npm包: C:\projects\A , C:\projects\B和C:\projects\main 。 Main是使用Webpack构build的React应用程序。 Main取决于A和B ,也取决于B 我们有我们自己的“全球”包pipe理器,它保证包将位于同一个父文件夹中。 我想适应这些: 节点(和webpack的) require将解决本地包 每当我改变A或B时,我不需要在Main npm install 我在Main的package.json做了这个: …. "dependencies": { "A": "file:../A", "B": "file:../B", "react": … ……… 但遇到了一个奇怪的问题: npm不会安装A和B的node_modules中的所有包,所以Webpack构build失败。 而且我需要每次运行npm install 。 我GOOGLE了 ,发现linklocal ,它将所有本地包replace为符号链接。 但遇到另一个问题: linklocal不会安装链接依赖项的依赖关系,因此通常最终会安装链接依赖项的依赖关系两次:在npm安装期间,然后在linklocal 所以我跑了linklocal ,然后npm install在postinstall脚本。 但是npm @ 3没有对符号链接的文件夹做任何事情: npm WARN update-linked node_modules/A needs updating to 1.0.0 from 1.0.0 but we can't, […]