我将项目复制到新计算机上(事实上,我使用同步服务)。我用
ls -l
检查了我的文件夹,权限似乎正确。
这是一个 Strapi 应用程序,当我执行
npm run develop
时,会出现以下内容:
> [email protected] develop
> strapi develop
sh: 1: strapi: not found
我使用
npx create-strapi-app@latest strapi-hugo-blog
创建了我的应用程序,因此 Strapi 作为依赖项安装,后来我在原始计算机上使用 npm install
进行了更新。
所以这很奇怪。当我执行一个新的
npm install
时,我得到的是:
npm ERR! code 1
npm ERR! path /home/me/my-app/node_modules/esbuild
npm ERR! command failed
npm ERR! command sh -c node install.js
npm ERR! node:internal/errors:491
npm ERR! ErrorCaptureStackTrace(err);
npm ERR! ^
npm ERR!
npm ERR! <ref *1> Error: spawnSync /home/me/my-app/node_modules/esbuild/bin/esbuild EACCES
npm ERR! at Object.spawnSync (node:internal/child_process:1110:20)
npm ERR! at spawnSync (node:child_process:871:24)
npm ERR! at Object.execFileSync (node:child_process:914:15)
npm ERR! at validateBinaryVersion (/home/me/my-app/node_modules/esbuild/install.js:96:28)
npm ERR! at /home/me/my-app/node_modules/esbuild/install.js:283:5 {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'spawnSync /home/me/my-app/node_modules/esbuild/bin/esbuild',
npm ERR! path: '/home/me/my-app/node_modules/esbuild/bin/esbuild',
npm ERR! spawnargs: [ '--version' ],
npm ERR! error: [Circular *1],
npm ERR! status: null,
npm ERR! signal: null,
npm ERR! output: null,
npm ERR! pid: 0,
npm ERR! stdout: null,
npm ERR! stderr: null
npm ERR! }
npm ERR!
npm ERR! Node.js v18.13.0
我在互联网上找不到此错误消息。
当我尝试安装 Strapi 时,我之前收到了更多错误和警告(显然它尝试使用 Strapi 版本 3,该版本已被弃用,而我的包锁中有版本 4),但最后出现了相同的消息。
使用 sudo 执行 npm 不会改变任何东西(也不应该改变,因为所有东西都是本地安装的)。
由于我正在使用同步服务,因此我在原来的计算机上再次尝试,一切正常。 Node 已安装,并且在两个系统上的版本几乎相同 (v18.17.1 / v18.13.0)。
解决此类问题的最佳方法是删除
node_modules
目录和 package-lock.json
文件,然后使用 npm install
进行全新安装。