首页 > 解决方案 > 无法通过符号链接运行 Visual Studio 代码脚本

问题描述

因此,我从源代码构建了 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

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

标签: shellunixpathvisual-studio-codeelectron

解决方案


好的,伙计们。我想我解决了这个问题。当我通过符号链接运行 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

推荐阅读