【问题标题】:Cannot run Visual Studio code script via symlink无法通过符号链接运行 Visual Studio 代码脚本
【发布时间】:2019-02-24 00:40:26
【问题描述】:

所以,我从源代码构建了 Visual Studio Code,并打算继续这样使用它。但是现在每次我想打开它时,我都必须从它的目录中运行一个脚本。我在 /usr/local/bin 中为该脚本创建了一个符号链接,但不幸的是,当我运行它时,它会这样说:

device:scripts work$ sudo code
Password:
module.js:550
    throw err;
    ^

Error: Cannot find module './product.json'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at [eval]:1:1
    at ContextifyScript.Script.runInThisContext (vm.js:50:33)
    at Object.runInThisContext (vm.js:139:38)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:653:30)
    at evalScript (bootstrap_node.js:479:27)
module.js:550
    throw err;
    ^

Error: Cannot find module '/usr/local/build/lib/electron.js'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
/usr/local/bin/code: line 29: ./node_modules/.bin/gulp: No such file or directory
module.js:550
    throw err;
    ^

Error: Cannot find module '/usr/local/build/lib/builtInExtensions.js'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
/usr/local/bin/code: line 41: ./node_modules/.bin/gulp: No such file or directory
/usr/local/bin/code: line 50: /usr/local/.build/electron/.app/Contents/MacOS/Electron: No such file or directory
/usr/local/bin/code: line 50: exec: /usr/local/.build/electron/.app/Contents/MacOS/Electron: cannot execute: No such file or directory

我完全理解它无法访问某些文件,但我不明白为什么。运行电子应用程序是否有任何细微差别?

【问题讨论】:

    标签: shell unix path visual-studio-code electron


    【解决方案1】:

    好的,伙计们。我想我解决了这个问题。当我通过符号链接运行 code.sh 时,它试图从我的 PATH 变量的目录中找到必要的文件。由于我打算从原始文件夹以外的任何地方运行此脚本,因此显然找不到它们。所以我所要做的就是将原始脚本目录导出到 PATH。 因为我不想让我的 PATH 膨胀,所以我写了一个小帮助脚本,并从 /usr/local/bin/ 创建了一个符号链接 代码如下:

    #!/bin/sh
    export PATH=$PATH:/Users/work/Stuff/vscode/
    cd /Users/work/Stuff/vscode/
    ./scripts/code.sh
    

    【讨论】:

      猜你喜欢
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      • 2019-11-11
      • 2021-04-22
      相关资源
      最近更新 更多